/*
  Copyright (c), 2001-2022, Shenshu Tech. Co., Ltd.
 */

#ifndef IMX335_CMOS_EX_H
#define IMX335_CMOS_EX_H

#include "ot_common_awb.h"
#include "ot_common_isp.h"
#include "ot_common_sns.h"

#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif

/* Piris attr */
static ot_isp_piris_attr g_piris = {
    0,   // bStepFNOTableChange
    1,   // bZeroIsMax
    94,  // u16TotalStep
    62,  // u16StepCount
    /* Step-F number mapping table. Must be from small to large. F1.0 is 1024 and F32.0 is 1 */
    {30, 35, 40, 45, 50, 56, 61, 67, 73, 79, 85, 92, 98, 105, 112, 120, 127, 135, 143, 150, 
     158, 166, 174, 183, 191, 200, 208, 217, 225, 234, 243, 252, 261, 270, 279, 289, 298, 
     307, 316, 325, 335, 344, 353, 362, 372, 381, 390, 399, 408, 417, 426, 435, 444, 453, 
     462, 470, 478, 486, 493, 500, 506, 512},
    OT_ISP_IRIS_F_NO_1_4,  // enMaxIrisFNOTarget
    OT_ISP_IRIS_F_NO_5_6,   // enMinIrisFNOTarget
    1,
    512,
    32
};

static const ot_isp_cmos_black_level g_cmos_blc = {
    TD_TRUE, /* user_black_level_en */
    {
        {800, 800, 800, 800},
        {800, 800, 800, 800},
        {800, 800, 800, 800},
        {800, 800, 800, 800},
    },   /* user_black_level */
    OT_ISP_BLACK_LEVEL_MODE_MANUAL, /* ot_isp_black_level_mode */
    {
        {
            {800, 800, 800, 800},
            {800, 800, 800, 800},
            {800, 800, 800, 800},
            {800, 800, 800, 800},
        },
    }, /* manual_attr */
    {
        OT_ISP_DYNAMIC_PATTERN_RGB, /* ot_isp_black_level_dynamic_pattern */
        {0, 0, 0, 0}, /* ob_area */
        10,    /* low_threshold */
        4095,  /* high_threshold */
        {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},    /* dynablc offset */
        10,    /* dynablc tolerance */
        16,    /* filter_strength */
        0x0,    /* separate_mode */
        {800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800}, /* calibration black level */
        0,
    }, /* dynamic_attr */
    {
        0,                            /* update mode 0 */
        {
            {800, 800, 800, 800},
            {800, 800, 800, 800},
            {800, 800, 800, 800},
            {800, 800, 800, 800}, /* black level */
        },
    },
    {
        {2592, 1944},
    },
};

static const ot_isp_cmos_black_level g_cmos_blc_virt_pipe = {
    TD_FALSE, /* user_black_level_en */
    {
        {200, 200, 200, 200},
        {200, 200, 200, 200},
        {200, 200, 200, 200},
        {200, 200, 200, 200},
    },   /* user_black_level */
    OT_ISP_BLACK_LEVEL_MODE_AUTO, /* ot_isp_black_level_mode */
    {
        {
            {200, 200, 200, 200},
            {200, 200, 200, 200},
            {200, 200, 200, 200},
            {200, 200, 200, 200},
        },
    }, /* manual_attr */
    {
        OT_ISP_DYNAMIC_PATTERN_RGB, /* ot_isp_black_level_dynamic_pattern */
        {0, 0, 0, 0}, /* ob_area */
        10,    /* low_threshold */
        4095,  /* high_threshold */
        {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},    /* dynablc offset */
        0x0,    /* dynablc tolerance */
        0x0,    /* filter_strength */
        0x0,    /* separate_mode */
        {200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200}, /* calibration black level */
        0,
    }, /* dynamic_attr */
    {
        0,                            /* update mode 0 */
        {
            {200, 200, 200, 200},
            {200, 200, 200, 200},
            {200, 200, 200, 200},
            {200, 200, 200, 200},
        },
    },
    {
        {2592, 1944},
    },
};

static const ot_isp_dp_dynamic_attr g_cmos_dpc = {
    1,              /* dynamic correction enable */

    {
        {
            0,          /* twinkle suppression enable */
            6,          /* twinkle suppression threshold */
            21,         /* twinkle suppression slop */
            0,          /* 0, auto mode; 1, manual mode */
            {
                0,      /* manual mode strength */
                0,      /* manual mode blend ratio */
            },
            {
                { 0, 0, 0, 152, 220, 220, 220, 220, 220, 220, 152, 152, 152, 152, 152, 152 }, /* strength[16] */
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 50, 50, 50, 50 },                     /* blend_ratio[16] */
            },
            96,         /* strength for bright area */
            63,         /* strength for dark area */
        }, /* dynamic config for linear frame */
	}
};

static const ot_isp_dp_dynamic_attr g_cmos_dpc_wdr = {
    1,              /* dynamic correction enable */
    {
        {
            0,          /* twinkle suppression enable */
            6,          /* twinkle suppression threshold */
            21,         /* twinkle suppression slop */
            0,          /* 0, auto mode; 1, manual mode */
            {
                0,      /* manual mode strength */
                0,      /* manual mode blend ratio */
            },
            {
                { 230, 230, 230, 235, 235, 235, 240, 240, 240, 250, 250, 250, 250, 250, 250, 250 }, /* strength[16] */
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },                      /* blend_ratio[16] */
            },
            96,         /* strength for bright area */
            63,         /* strength for dark area */
        }, /* dynamic config for short frame */

        {
            0,          /* twinkle suppression enable */
            6,          /* twinkle suppression threshold */
            21,         /* twinkle suppression slop */
            0,          /* 0, auto mode; 1, manual mode */
            {
                0,      /* manual mode strength */
                0,      /* manual mode blend ratio */
            },
            {
                { 230, 230, 230, 235, 235, 235, 240, 240, 240, 250, 250, 250, 250, 250, 250, 250 }, /* strength[16] */
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },                      /* blend_ratio[16] */
            },
            96,         /* strength for bright area */
            63,         /* strength for dark area */
        }, /* dynamic config for long frame */
    }
};

#ifdef CONFIG_OT_ISP_CR_SUPPORT
static const ot_isp_cr_attr g_cmos_ge = {
    1,   /* en */
    9,   /* slope */
    9,   /* sensi_slope */
    300, /* sensi_threshold */
    { 128, 128, 128, 128, 129, 129, 129, 129, 130, 130, 130, 130, 131, 131, 131, 131 }, /* strength */
    { 300, 300, 300, 300, 310, 310, 310, 310, 320, 320, 320, 320, 330, 330, 330, 330 }, /* threshold */
    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* filter_mode */
    { 1024, 1024, 1024, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048 } /* np_offset */
};

static const ot_isp_cr_attr g_cmos_ge_wdr = {
    0,   /* en */
    9,   /* slope */
    9,   /* sensi_slope */
    300, /* sensi_threshold */
    { 128, 128, 128, 128, 129, 129, 129, 129, 130, 130, 130, 130, 131, 131, 131, 131 }, /* strength */
    { 300, 300, 300, 300, 310, 310, 310, 310, 320, 320, 320, 320, 330, 330, 330, 330 }, /* threshold */
    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* filter_mode */
    { 1024, 1024, 1024, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048 } /* np_offset */
};
#endif

static const ot_isp_demosaic_attr g_cmos_demosaic = {
    1, /* en */
    OT_OP_MODE_AUTO, /* op_type */
    128, /* ai_detail_strength */
    {
        48, /* nddm_strength */
        64, /* nddm_mf_detail_strength */
        0, /* nddm_hf_detail_strength */
        2, /* detail_smooth_range */
        0, /* color_noise_f_threshold */
        8, /* color_noise_f_strength */
        1, /* color_noise_y_threshold */
        10, /* color_noise_y_strength */
    },
    {
        /* nddm_strength */
        {74, 70, 64, 64, 64, 64, 64, 48, 48, 48, 48, 48, 48, 48, 48, 48},
        /* nddm_mf_detail_strength */
        {84, 78, 78, 78, 70, 50, 50, 35, 20, 15, 20, 16, 16, 16, 16, 16},
        /* nddm_hf_detail_strength */
        {0, 0, 2, 3, 4, 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7},
        /* detail_smooth_range */
        {1, 1, 1, 1, 1, 1, 3, 4, 5, 5, 7, 7, 7, 7, 7, 7},
        /* color_noise_f_threshold */
        { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
        /* color_noise_f_strength */
        { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 },
        /* color_noise_y_threshold */
        { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
        /* color_noise_y_strength */
        { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 },
    }
};

static const ot_isp_demosaic_attr g_cmos_demosaic_wdr = {
    1, /* en */
    OT_OP_MODE_AUTO, /* op_type */
    128, /* ai_detail_strength */
    {
        48, /* nddm_strength */
        64, /* nddm_mf_detail_strength */
        0, /* nddm_hf_detail_strength */
        2, /* detail_smooth_range */
        0, /* color_noise_f_threshold */
        8, /* color_noise_f_strength */
        1, /* color_noise_y_threshold */
        10, /* color_noise_y_strength */
    },
    {
        /* nddm_strength */
        { 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 },
        /* nddm_mf_detail_strength */
        { 60, 60, 58, 55, 50, 45, 40, 30, 20, 16, 16, 16, 16, 16, 16, 16 },
        /* nddm_hf_detail_strength */
        { 0, 0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 5, 5, 5 },
        /* detail_smooth_range */
        { 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 6, 7, 7, 7, 7, 7 },
        /* color_noise_f_threshold */
        { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
        /* color_noise_f_strength */
        { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 },
        /* color_noise_y_threshold */
        { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
        /* color_noise_y_strength */
        { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 },
    }
};

static const ot_isp_anti_false_color_attr g_cmos_anti_false_color = {
    1,                  /* en */
    OT_OP_MODE_AUTO,    /* op_type */
    { 8, 8 },           /* manual_attr */
    {
        { 10, 10, 8, 8, 7, 7, 7, 6, 6, 6, 5, 4, 3, 2, 1, 0 }, /* anti_false_color_threshold */
        {8, 8, 8, 8, 7, 7, 7, 6, 6, 6, 5, 4, 3, 2, 1, 0}, /* anti_false_color_strength */
    }
};

static const ot_isp_anti_false_color_attr g_cmos_anti_false_color_wdr = {
    1,                  /* en */
    OT_OP_MODE_AUTO,    /* op_type */
    { 8, 8 },           /* manual_attr */
    {
        { 10, 10, 8, 8, 7, 7, 7, 6, 6, 6, 5, 4, 3, 2, 1, 0 }, /* anti_false_color_threshold */
        { 8, 8, 8, 8, 7, 7, 7, 6, 6, 6, 5, 4, 3, 2, 1, 0 },   /* anti_false_color_strength */
    }
};

static const ot_isp_ca_attr g_cmos_ca = {
    1, /* en */
    0,
    {
        {
            36,   58,   81,   96,   111,  123,  136,  147,  158,  170,  182,  194,  207,  217,  228,  243,  259,  274,
            290,  303,  317,  331,  345,  357,  369,  382,  396,  408,  420,  432,  444,  456,  468,  480,  492,  503,
            515,  524,  534,  545,  556,  565,  574,  585,  597,  605,  614,  623,  632,  640,  648,  657,  666,  673,
            681,  689,  697,  703,  709,  716,  723,  728,  734,  741,  748,  753,  758,  764,  771,  775,  780,  784,
            788,  794,  800,  804,  808,  811,  815,  818,  822,  825,  829,  833,  837,  839,  841,  844,  848,  851,
            854,  856,  858,  861,  864,  866,  868,  869,  871,  874,  878,  879,  881,  883,  885,  887,  890,  891,
            893,  895,  897,  898,  900,  901,  903,  904,  906,  907,  909,  910,  912,  913,  915,  916,  918,  919,
            921,  922,  924,  925,  926,  927,  929,  930,  931,  932,  934,  935,  936,  937,  938,  939,  941,  942,
            943,  944,  945,  946,  947,  948,  949,  950,  951,  951,  952,  953,  954,  955,  956,  957,  958,  959,
            961,  961,  962,  963,  964,  965,  966,  967,  968,  968,  969,  969,  970,  970,  971,  972,  973,  973,
            974,  975,  976,  976,  977,  978,  979,  979,  980,  980,  981,  982,  983,  983,  984,  984,  985,  985,
            986,  987,  988,  988,  989,  989,  990,  990,  991,  991,  992,  992,  993,  994,  995,  995,  996,  996,
            997,  997,  998,  998,  999,  999,  1000, 1000, 1001, 1002, 1004, 1004, 1005, 1005, 1006, 1006, 1007, 1008,
            1009, 1009, 1010, 1010, 1011, 1011, 1012, 1013, 1014, 1015, 1016, 1016, 1017, 1018, 1019, 1019, 1020, 1021,
            1022, 1023, 1024, 1024
        },
        /* ISO */
        {1300, 1300, 1250, 1200, 1150, 1100, 1050, 1000, 950, 900, 900, 800, 800, 800, 800, 800},
        {
            811, 811, 812, 812, 812, 812, 812, 812, 812, 812, 812, 811, 811, 811, 810, 810,
            810, 809, 809, 809, 808, 808, 807, 807, 807, 806, 806, 806, 805, 805, 805, 804,
            804, 804, 804, 804, 804, 804, 804, 804, 804, 804, 805, 805, 806, 806, 807, 807,
            808, 809, 810, 811, 813, 814, 815, 817, 819, 820, 822, 824, 827, 829, 831, 834,
            837, 840, 843, 846, 850, 853, 857, 861, 865, 870, 874, 879, 883, 888, 893, 898,
            903, 908, 914, 919, 925, 930, 936, 942, 947, 953, 959, 965, 971, 977, 983, 989,
            995, 1001, 1007, 1012, 1018, 1024, 1030, 1036, 1042, 1048, 1053, 1059, 1065, 1070, 1075, 1081,
            1086, 1091, 1096, 1101, 1106, 1111, 1115, 1120, 1124, 1128, 1132, 1136, 1139, 1143, 1146, 1149,
            1152, 1155, 1158, 1161, 1163, 1166, 1168, 1170, 1172, 1174, 1176, 1178, 1180, 1182, 1183, 1185,
            1186, 1188, 1189, 1190, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1200, 1201, 1202,
            1202, 1203, 1204, 1204, 1205, 1205, 1206, 1206, 1207, 1207, 1208, 1208, 1209, 1209, 1210, 1210,
            1211, 1211, 1212, 1212, 1213, 1214, 1214, 1215, 1215, 1216, 1217, 1218, 1218, 1219, 1220, 1221,
            1222, 1223, 1224, 1225, 1226, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1232, 1233, 1234, 1235,
            1236, 1236, 1237, 1238, 1239, 1240, 1240, 1241, 1242, 1243, 1243, 1244, 1245, 1245, 1246, 1247,
            1248, 1248, 1249, 1250, 1250, 1251, 1252, 1253, 1253, 1254, 1255, 1255, 1256, 1257, 1258, 1258,
            1259, 1260, 1260, 1261, 1262, 1263, 1263, 1264, 1265, 1265, 1266, 1267, 1268, 1268, 1269, 1270
        },
    },
    {
        {
            56,  58,  60,  62,  64,  66,  68,  69,  71,  72,  74,  75,  77,  78,  79,  81,  82,  83,  85,  86,  87,
            88,  89,  91,  93,  94,  96,  98,  99,  101, 102, 104, 105, 106, 108, 109, 110, 111, 112, 113, 115, 116,
            117, 118, 119, 119, 120, 121, 122, 123, 124, 125, 125, 126, 127, 128, 128, 129, 130, 131, 131, 132, 133,
            134, 135, 136, 136, 137, 138, 139, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 152, 153, 155, 156,
            157, 158, 159, 161, 162, 163, 164, 165, 166, 167, 168, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
            180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 193, 194, 195, 196, 197, 197, 198, 198,
            198, 199, 199, 198, 198, 198, 198, 197, 196, 196, 195, 194, 193, 192, 191, 190, 189, 187, 186, 185, 184,
            183, 181, 180, 179, 178, 177, 175, 174, 173, 172, 170, 169, 168, 167, 165, 164, 163, 161, 160, 159, 157,
            156, 155, 153, 152, 151, 149, 148, 146, 145, 144, 142, 141, 139, 138, 136, 135, 133, 132, 130, 129, 127,
            126, 124, 123, 121, 119, 118, 116, 115, 114, 113, 111, 110, 110, 109, 108, 108, 108, 108, 108, 109, 110,
            111, 112, 113, 114, 115, 116, 118, 119, 121, 122, 124, 125, 127, 128, 130, 131, 133, 134, 136, 137, 139,
            140, 142, 143, 145, 146, 148, 149, 151, 152, 154, 155, 157, 158, 160, 161, 163, 164, 166, 167, 169, 170,
            172, 173, 175, 176
        },
        {
            232, 228, 225, 222, 219, 216, 214, 211, 208, 205, 202, 200, 197, 194, 192, 189, 186, 184, 181, 179, 176,
            174, 171, 169, 166, 163, 161, 158, 156, 153, 151, 148, 146, 143, 141, 139, 136, 134, 132, 130, 128, 125,
            123, 121, 119, 117, 115, 112, 110, 108, 106, 104, 101, 99,  97,  95,  92,  90,  88,  86,  83,  81,  79,
            77,  75,  73,  71,  69,  67,  65,  64,  62,  61,  60,  59,  58,  57,  56,  55,  55,  54,  54,  54,  53,
            53,  52,  52,  52,  51,  51,  50,  50,  50,  49,  49,  49,  48,  48,  48,  47,  47,  47,  46,  46,  46,
            45,  45,  45,  44,  44,  44,  43,  43,  43,  42,  42,  42,  42,  41,  41,  41,  41,  40,  40,  40,  40,
            40,  40,  40,  40,  40,  40,  40,  40,  41,  41,  41,  41,  42,  42,  42,  43,  43,  44,  44,  44,  45,
            45,  46,  46,  46,  47,  47,  48,  48,  49,  49,  49,  50,  50,  51,  51,  52,  52,  53,  53,  54,  54,
            55,  55,  56,  56,  57,  57,  58,  58,  59,  60,  60,  61,  61,  62,  62,  63,  64,  64,  65,  66,  67,
            67,  68,  69,  70,  71,  72,  73,  75,  76,  78,  79,  81,  82,  84,  86,  87,  89,  91,  92,  94,  96,
            97,  99,  100, 102, 103, 105, 106, 108, 109, 111, 112, 114, 115, 117, 118, 119, 121, 122, 124, 125, 127,
            129, 130, 132, 133, 135, 136, 138, 139, 141, 143, 144, 146, 147, 149, 151, 152, 154, 155, 157, 159, 160,
            162, 164, 166, 167
        },
        {
            92,  91,  89,  88,  87,  86,  85,  84,  83,  82,  81,  80,  79,  78,  77,  76,  75,  75,  74,  73,  72,
            72,  72,  72,  73,  74,  76,  77,  78,  79,  80,  81,  82,  83,  84,  85,  85,  86,  87,  87,  88,  88,
            88,  88,  89,  89,  89,  89,  89,  89,  88,  88,  88,  88,  87,  87,  87,  87,  87,  86,  86,  86,  87,
            87,  87,  88,  88,  89,  90,  91,  92,  93,  94,  95,  96,  97,  99,  100, 101, 102, 103, 105, 106, 107,
            108, 109, 110, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 125, 126, 127, 128, 129, 130,
            131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 147, 148, 149, 150, 151, 152,
            153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 166, 167, 168, 169, 170, 171, 172,
            172, 173, 174, 175, 176, 176, 177, 178, 179, 180, 181, 181, 182, 183, 184, 185, 185, 186, 187, 188, 189,
            190, 190, 191, 192, 193, 194, 194, 195, 196, 197, 198, 199, 200, 200, 201, 202, 203, 204, 205, 206, 207,
            208, 208, 209, 210, 211, 212, 213, 214, 215, 215, 216, 217, 217, 218, 218, 219, 219, 219, 219, 219, 219,
            219, 218, 218, 217, 216, 215, 215, 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202, 201,
            200, 199, 198, 197, 196, 195, 195, 194, 193, 192, 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, 181,
            180, 179, 178, 176
        },

    }
    
};

static const ot_isp_cac_attr g_cmos_cac_wdr = {
    1, /* en */
    OT_OP_MODE_AUTO, /* op_type */
    1, /* detect_mode */
    135, /* purple_upper_limit */
    (-50), /* purple_lower_limit */
    /* acac_cfg */
    {
        {
            {10, 300}, /* edge_threshold */
            255, /* edge_gain */
            10, /* cac_rb_strength */
            63, /* purple_alpha */
            63, /* edge_alpha */
            100, /* satu_low_threshold */
            1000, /* satu_high_threshold */
        },
        {
            /* edge_threshold */
            {
                {100, 100, 100, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150},
                {500, 500, 500, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600}
            },
            /* edge_gain */
            { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 },
            /* cac_rb_strength */
            { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 },
            /* purple_alpha */
            { 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63 },
            /* edge_alpha */
            { 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63 },
            /* satu_low_threshold */
            { 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 },
            /* satu_high_threshold */
            { 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000 },
        }
    },
    /* lcac_cfg */
    {
        60, /* purple_detect_range */
        200, /* var_threshold */
        { 1500, 1500, 0 }, /* r_detect_threshold */
        { 1500, 1500, 0 }, /* g_detect_threshold */
        { 4095, 1500, 0 }, /* b_detect_threshold */
        {
            0, /* de_purple_cr_strength */
            7, /* de_purple_cb_strength */
        },
        {
            /* de_purple_cr_strength */
            { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
            /* de_purple_cb_strength */
            { 0, 0, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 },
        }
    }
};

static const ot_isp_bayershp_attr g_cmos_bayershp = {
    1, /* en */
    {180, 220}, /* dark_threshold */
    {200, 300}, /* texture_threshold */
    OT_OP_MODE_AUTO, /* op_type */
    {
        { 0, 0, 32, 32, 32, 32, 32, 32 }, /* mf_strength */
        { 0, 0, 16, 32, 32, 16, 16, 0 }, /* hf_strength */
        { 0, 0, 16, 16, 4, 2, 0, 0 }, /* dark_strength */
        3, /* mf_gain */
        2, /* hf_gain */
        1, /* dark_gain */
        128, /* overshoot */
        128, /* undershoot */
    },
    {
        /* mf_strength[OT_ISP_BSHP_CURVE_NUM][OT_ISP_AUTO_ISO_NUM] */
        {
            {0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0},
            {0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0},
            {32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32},
            {32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32},
            {32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32},
            {32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32},
            {32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32},
            {32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32}
        },
        /* hf_strength[OT_ISP_BSHP_CURVE_NUM][OT_ISP_AUTO_ISO_NUM] */
        {
            {0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0},
            {0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0},
            {16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16},
            {32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32},
            {32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32},
            {16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16},
            {16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16},
            {0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0}
        },
        /* dark_strength[OT_ISP_BSHP_CURVE_NUM][OT_ISP_AUTO_ISO_NUM] */
        {
            {0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0},
            {0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0},
            {16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16},
            {16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16},
            {4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4},
            {2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2},
            {0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0},
            {0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0}
        },
        /* mf_gain */
        { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 },
        /* hf_gain */
        { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },
        /* dark_gain */
        { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
        /* overshoot */
        { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
        /* undershoot */
        { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
    }
};

static const ot_isp_bayershp_attr g_cmos_bayershp_wdr = {
    1, /* en */
    {180, 220}, /* dark_threshold */
    {200, 300}, /* texture_threshold */
    OT_OP_MODE_AUTO, /* op_type */
    {
        { 0, 0, 32, 32, 32, 32, 32, 32 }, /* mf_strength */
        { 0, 0, 16, 32, 32, 16, 16, 0 }, /* hf_strength */
        { 0, 0, 16, 16, 4, 2, 0, 0 }, /* dark_strength */
        3, /* mf_gain */
        2, /* hf_gain */
        1, /* dark_gain */
        128, /* overshoot */
        128, /* undershoot */
    },
    {
        /* mf_strength[OT_ISP_BSHP_CURVE_NUM][OT_ISP_AUTO_ISO_NUM] */
        {
            {0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0},
            {0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0},
            {32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32},
            {32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32},
            {32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32},
            {32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32},
            {32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32},
            {32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32}
        },
        /* hf_strength[OT_ISP_BSHP_CURVE_NUM][OT_ISP_AUTO_ISO_NUM] */
        {
            {0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0},
            {0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0},
            {16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16},
            {32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32},
            {32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  32},
            {16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16},
            {16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16},
            {0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0}
        },
        /* dark_strength[OT_ISP_BSHP_CURVE_NUM][OT_ISP_AUTO_ISO_NUM] */
        {
            {0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0},
            {0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0},
            {16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16},
            {16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16,  16},
            {4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4},
            {2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2},
            {0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0},
            {0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0}
        },
        /* mf_gain */
        { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 },
        /* hf_gain */
        { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },
        /* dark_gain */
        { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
        /* overshoot */
        { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
        /* undershoot */
        { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
    }
};

/* BAYER NR */
static ot_isp_noise_calibration g_cmos_noise_calibration = {
    {6400, 0.00024972, -0.14848686, 0.00000003, -0.00009478, 0, 0.00023600, 0, 0.00000002, 0.00002112, 0, 0, 0, 0, 0, 0}
};

static const ot_isp_nr_attr g_cmos_bayer_nr = {
    1,      /* bEnable */
    0,      /* enOpType */
    1,      /* tnr_enable */
    0,      /* lsc_nr_enable */
    0,      /* lsc_ratio1 */
    {
        160, 160, 140, 120, 90, 65, 65, 65, 70, 70, 70, 70, 70, 70, 70, 70,
        80, 80, 80, 85, 85, 85, 90, 90, 90, 95, 100, 120, 120, 150, 150, 180, 180
    },   /* CoringRatio */
    {
        128, 128, 128, 128, 128, 128, 110, 90,
        77, 77, 77, 77, 77, 77, 77, 77,    // u1.7 x 32  (128 = 1.0f)
        77, 77, 77, 77, 77, 77, 77, 77,
        77, 77, 77, 77, 77, 77, 77, 77
    },
    /* snr_cfg */
    {
        0, /* snr_version */
        {
            {
                /* snr auto */
                {
                    {
                        {108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108},
                        {108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108},
                        {108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108},
                        {108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108}
                    },
                    {16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16}, /* sfm0_detail_prot */
                    {512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512}, /* sfm1_str */
                    {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}, /* sfm1_adp_strength */
                    {64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64}, /* sfm6_strength */
                    {64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64}, /* sfm7_strength */
                    {100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100}, /* sth */
                    {65, 65, 65, 65, 65, 65, 60, 60, 60, 50, 50, 50, 50, 50, 16, 16}, /* fine_str */
                    {45, 40, 40, 40, 40, 40, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30}, /* coring_wgt */
                    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} /* coring_mot_ratio */
                },

                /* snr manual */
                {
                    { 108, 108, 108, 108 }, /* snr_sfm0_coarstr */
                    16, /* sfm0_detail_prot */
                    512, /* sfm1_str */
                    2, /* sfm1_adp_strength */
                    64, /* sfm6_strength */
                    64, /* sfm7_strength */
                    100, /* sth */
                    128, /* fine_str */
                    50, /* coring_wgt */
                    0,  /* coring_mot_ratio */
                },
            },
        }
    },
    /* tnr_cfg */
    {
        {
            /* tnr auto */
            {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, /* md_mode */
            {32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32}, /* md_size_ratio */
            {32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32}, /* md_anti_flicker_str */
            {26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26},   /* md_static_ratio */
            {13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13},   /* md_motion_ratio */
            {32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32},   /* md_static_finestr */
            {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}, /* tnr_tfs */
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, /* user_define_md */
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, /* user_define_slope */
            {90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90}, /* user_define_dark_thresh */
            {16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16}, /* user_define_color_thresh */
            {26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26}, /* sfr_r */
            {32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32}, /* sfr_g */
            {26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26}, /* sfr_b */
        },
        {
            1, /* md_mode */
            32, /* md_size_ratio */
            32, /* md_anti_flicker_str */
            26, /* md_static_ratio */
            13, /* md_motion_ratio */
            32, /* md_static_finestr */
            255, /* tnr_tfs */
            0, /* user_define_md */
            0, /* user_define_bright_thresh */
            90, /* user_define_dark_thresh */
            16, /* user_define_color_thresh */
            26, /* sfr_r */
            32, /* sfr_g */
            26, /* sfr_b */
        }
    },
    /* wdr_cfg */
    {
        {16, 16, 16, 16}, /* sfm0_wdr_frame_str */
        {16, 16, 16, 16}, /* sfm0_fusion_frame_str */
        {64, 16, 16, 16}, /* snr_wdr_sfm6_strength */
        {64, 16, 16, 16}, /* snr_wdr_sfm7_strength */
        {64, 16, 16, 16}, /* snr_fusion_sfm6_strength */
        {64, 16, 16, 16}, /* snr_fusion_sfm7_strength */
        {16, 16, 16, 16}, /* md_wdr_frame_str */
        {16, 16, 16, 16}, /* md_fusion_frame_str */
    },
    /* dering_cfg */
    {
        {
            {64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64}, /* dering_strength */
            {64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64}, /* dering_thresh */
            {16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16}, /* dering_static_str */
            {16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16}, /* dering_motion_str */
        },
        {
            64, /* dering_strength */
            64, /* dering_thresh */
            16, /* dering_static_str */
            16, /* dering_motion_str */
        }
    },
};

static const ot_isp_ldci_attr g_cmos_ldci = {
    /* enable */
    1,
    /* gauss_lpf_sigma */
    36,
    /* ot_op_mode */
    0,

    /* ot_isp_ldci_manual_attr */
    {
        /* ot_isp_ldci_he_wgt_attr */
        {
            /* he_pos_wgt */
            {
                50, 80, 32
            },
            /* he_neg_wgt */
            {
                60, 80, 128
            }
        },

        /* blc_ctrl */
        20
    },

    /* ot_isp_ldci_auto_attr */
    {
        /* he_wgt[OT_ISP_AUTO_ISO_NUM] */
        {
            {{50, 80, 32}, {60, 80, 128}},
            {{45, 80, 16}, {45, 80, 128}},
            {{42, 70, 0}, {45, 80, 128}},
            {{40, 70, 0}, {45, 80, 0}},
            {{35, 70, 0}, {24, 72, 0}},
            {{32, 64, 0}, {12, 64, 0}},
            {{12, 24, 0}, {8, 54, 0}},
            {{8, 20, 0}, {6, 36, 0}},
            {{6, 12, 0}, {0, 8, 0}},
            {{0, 8, 0}, {0, 6, 0}},
            {{0, 6, 0}, {0, 2, 0}},
            {{0, 2, 0}, {0, 1, 0}},
            {{0, 1, 0}, {0, 1, 0}},
            {{0, 1, 0}, {0, 1, 0}},
            {{0, 1, 0}, {0, 1, 0}},
            {{0, 1, 0}, {0, 1, 0}}
        },

        /* blc_ctrl */
        { 20, 20, 20, 20, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30 }
    },

    /* tpr_incr_coef */
    8,
    /* tpr_decr_coef */
    8
};

static const ot_isp_ldci_attr g_cmos_ldci_wdr = {
    /* enable */
    1,
    /* gauss_lpf_sigma */
    36,
    /* ot_op_mode */
    0,

    /* ot_isp_ldci_manual_attr */
    {
        /* ot_isp_ldci_he_wgt_attr */
        {
            /* he_pos_wgt */
            {
                16, 80, 20
            },
            /* he_neg_wgt */
            {
                32, 80, 180
            }
        },

        /* blc_ctrl */
        20
    },

    /* ot_isp_ldci_auto_attr */
    {
        /* he_wgt[OT_ISP_AUTO_ISO_NUM] */
        {
            {{32, 48, 128}, {32, 80, 200}},
            {{32, 48, 128}, {32, 80, 200}},
            {{32, 48, 128}, {32, 80, 200}},
            {{32, 48, 128}, {32, 80, 200}},
            {{32, 48, 128}, {32, 80, 200}},
            {{32, 48, 128}, {32, 80, 200}},
            {{32, 48, 128}, {32, 80, 200}},
            {{32, 48, 128}, {32, 80, 200}},
            {{32, 48, 128}, {32, 80, 200}},
            {{32, 48, 128}, {32, 80, 200}},
            {{32, 48, 128}, {32, 80, 200}},
            {{32, 48, 128}, {32, 80, 200}},
            {{32, 48, 128}, {32, 80, 200}},
            {{32, 48, 128}, {32, 80, 200}},
            {{32, 48, 128}, {32, 80, 200}},
            {{32, 48, 128}, {32, 80, 200}}
        },

        /* blc_ctrl */
        { 20,  20,  20,   20, 20,  20,  20,  20,  20,  20,   20,  20,  20,  20,  20,  20 }
    },

    /* tpr_incr_coef */
    8,
    /* tpr_decr_coef */
    8
};

static const ot_isp_gamma_attr g_cmos_gamma = {
    1,
    {
        0, 37, 53, 70, 86, 102, 118, 135, 151, 167, 183, 199, 216, 232, 249, 265, 281, 297, 313, 330, 346, 362, 377, 394, 409, 425, 440, 455, 470, 485, 500, 515,
        530, 544, 559, 573, 588, 602, 616, 630, 645, 659, 673, 687, 700, 715, 728, 742, 756, 769, 783, 796, 809, 822, 836, 849, 862, 875, 888, 900, 914, 926, 939, 952,
        964, 977, 989, 1002, 1014, 1026, 1038, 1050, 1062, 1074, 1086, 1098, 1110, 1121, 1133, 1145, 1156, 1167, 1179, 1190, 1201, 1212, 1223, 1234, 1245, 1256, 1267, 1277, 1288, 1299, 1309, 1320,
        1330, 1341, 1350, 1361, 1370, 1381, 1390, 1401, 1410, 1420, 1430, 1439, 1449, 1459, 1468, 1477, 1487, 1496, 1505, 1514, 1523, 1532, 1541, 1550, 1559, 1568, 1576, 1585, 1593, 1602, 1610, 1619,
        1627, 1636, 1644, 1653, 1661, 1669, 1677, 1685, 1694, 1702, 1710, 1718, 1726, 1733, 1741, 1749, 1756, 1764, 1772, 1779, 1787, 1794, 1801, 1808, 1816, 1823, 1830, 1837, 1844, 1852, 1858, 1865,
        1873, 1879, 1886, 1893, 1899, 1906, 1913, 1919, 1926, 1933, 1939, 1946, 1952, 1958, 1965, 1971, 1978, 1983, 1990, 1996, 2003, 2009, 2015, 2021, 2027, 2033, 2039, 2045, 2052, 2057, 2064, 2070,
        2076, 2081, 2087, 2093, 2099, 2105, 2111, 2116, 2122, 2128, 2133, 2139, 2144, 2150, 2156, 2161, 2166, 2172, 2177, 2182, 2188, 2193, 2198, 2203, 2209, 2214, 2218, 2223, 2229, 2234, 2239, 2243,
        2248, 2253, 2259, 2263, 2268, 2272, 2277, 2282, 2287, 2292, 2297, 2301, 2306, 2310, 2315, 2320, 2324, 2329, 2334, 2338, 2343, 2347, 2352, 2356, 2360, 2365, 2369, 2374, 2378, 2383, 2387, 2392,
        2396, 2400, 2405, 2409, 2413, 2418, 2422, 2426, 2430, 2434, 2438, 2443, 2447, 2451, 2455, 2459, 2463, 2467, 2471, 2474, 2478, 2482, 2486, 2490, 2494, 2498, 2502, 2506, 2509, 2513, 2516, 2520,
        2524, 2528, 2532, 2535, 2539, 2542, 2546, 2549, 2553, 2557, 2560, 2564, 2567, 2571, 2575, 2578, 2582, 2585, 2588, 2592, 2596, 2599, 2602, 2606, 2609, 2613, 2617, 2620, 2623, 2626, 2630, 2634,
        2637, 2640, 2643, 2647, 2650, 2654, 2657, 2660, 2663, 2667, 2670, 2673, 2676, 2680, 2683, 2686, 2689, 2692, 2696, 2699, 2702, 2705, 2708, 2712, 2715, 2717, 2721, 2724, 2727, 2730, 2733, 2736,
        2739, 2742, 2745, 2748, 2751, 2754, 2757, 2760, 2763, 2766, 2769, 2772, 2775, 2778, 2781, 2783, 2786, 2790, 2792, 2795, 2798, 2801, 2804, 2807, 2810, 2813, 2815, 2818, 2822, 2824, 2827, 2830,
        2833, 2836, 2838, 2842, 2844, 2847, 2850, 2853, 2856, 2858, 2861, 2864, 2867, 2869, 2872, 2875, 2878, 2880, 2884, 2886, 2889, 2892, 2895, 2897, 2900, 2903, 2906, 2908, 2911, 2914, 2916, 2919,
        2922, 2925, 2927, 2929, 2933, 2935, 2937, 2940, 2943, 2946, 2948, 2951, 2954, 2956, 2959, 2961, 2964, 2966, 2969, 2972, 2974, 2977, 2980, 2982, 2984, 2987, 2990, 2992, 2995, 2997, 3000, 3002,
        3005, 3007, 3010, 3013, 3015, 3017, 3020, 3022, 3025, 3027, 3030, 3032, 3035, 3037, 3039, 3042, 3045, 3047, 3049, 3052, 3054, 3056, 3059, 3061, 3063, 3066, 3068, 3070, 3073, 3075, 3078, 3080,
        3083, 3085, 3087, 3090, 3092, 3094, 3097, 3099, 3101, 3104, 3106, 3108, 3110, 3112, 3115, 3117, 3119, 3122, 3124, 3126, 3129, 3131, 3133, 3135, 3138, 3140, 3142, 3144, 3146, 3149, 3151, 3153,
        3156, 3158, 3160, 3162, 3165, 3166, 3169, 3171, 3173, 3176, 3178, 3180, 3182, 3184, 3186, 3189, 3191, 3192, 3195, 3197, 3199, 3202, 3203, 3205, 3208, 3210, 3212, 3214, 3216, 3218, 3221, 3222,
        3225, 3227, 3228, 3231, 3233, 3235, 3237, 3239, 3241, 3244, 3245, 3247, 3250, 3251, 3254, 3256, 3258, 3260, 3262, 3264, 3266, 3268, 3270, 3272, 3274, 3276, 3279, 3280, 3282, 3285, 3287, 3288,
        3291, 3293, 3294, 3297, 3299, 3301, 3303, 3305, 3307, 3309, 3311, 3313, 3315, 3317, 3319, 3321, 3323, 3325, 3327, 3329, 3331, 3333, 3335, 3337, 3339, 3341, 3343, 3345, 3347, 3349, 3351, 3353,
        3355, 3357, 3359, 3360, 3363, 3365, 3366, 3369, 3371, 3372, 3375, 3376, 3378, 3381, 3382, 3384, 3386, 3388, 3390, 3392, 3394, 3396, 3398, 3400, 3402, 3404, 3406, 3408, 3409, 3412, 3414, 3415,
        3418, 3420, 3421, 3423, 3426, 3427, 3429, 3432, 3433, 3435, 3437, 3439, 3441, 3443, 3445, 3447, 3449, 3451, 3453, 3455, 3457, 3459, 3461, 3463, 3465, 3467, 3469, 3470, 3473, 3475, 3476, 3478,
        3481, 3482, 3484, 3486, 3488, 3490, 3492, 3494, 3496, 3498, 3499, 3502, 3504, 3505, 3507, 3510, 3511, 3513, 3515, 3517, 3519, 3521, 3523, 3525, 3526, 3528, 3531, 3532, 3534, 3536, 3538, 3539,
        3541, 3544, 3545, 3547, 3549, 3551, 3552, 3554, 3556, 3558, 3560, 3562, 3563, 3565, 3567, 3569, 3570, 3572, 3574, 3576, 3578, 3580, 3581, 3583, 3585, 3587, 3588, 3590, 3592, 3594, 3596, 3597,
        3599, 3601, 3603, 3604, 3606, 3608, 3610, 3611, 3613, 3615, 3616, 3618, 3620, 3622, 3623, 3626, 3627, 3628, 3631, 3632, 3634, 3636, 3638, 3639, 3641, 3643, 3644, 3646, 3648, 3650, 3651, 3653,
        3655, 3656, 3658, 3660, 3662, 3663, 3665, 3667, 3668, 3670, 3672, 3674, 3675, 3677, 3679, 3680, 3682, 3684, 3685, 3687, 3689, 3691, 3692, 3694, 3696, 3697, 3699, 3701, 3702, 3704, 3706, 3708,
        3709, 3711, 3713, 3714, 3716, 3718, 3719, 3721, 3723, 3725, 3726, 3727, 3730, 3731, 3733, 3734, 3737, 3738, 3739, 3741, 3743, 3745, 3746, 3748, 3750, 3752, 3753, 3755, 3757, 3759, 3760, 3762,
        3764, 3766, 3767, 3769, 3771, 3773, 3774, 3776, 3778, 3780, 3781, 3783, 3785, 3787, 3789, 3790, 3792, 3794, 3796, 3798, 3799, 3801, 3803, 3805, 3807, 3808, 3810, 3812, 3814, 3816, 3817, 3819,
        3821, 3823, 3825, 3827, 3828, 3830, 3832, 3834, 3836, 3837, 3839, 3841, 3843, 3845, 3846, 3848, 3850, 3851, 3853, 3855, 3857, 3859, 3860, 3862, 3864, 3866, 3868, 3869, 3871, 3873, 3875, 3876,
        3878, 3880, 3882, 3884, 3885, 3887, 3888, 3890, 3892, 3894, 3895, 3897, 3899, 3901, 3902, 3904, 3905, 3907, 3909, 3911, 3912, 3914, 3916, 3918, 3919, 3921, 3922, 3924, 3926, 3928, 3929, 3931,
        3933, 3935, 3936, 3938, 3939, 3941, 3943, 3945, 3946, 3948, 3950, 3952, 3953, 3955, 3956, 3958, 3960, 3961, 3963, 3964, 3966, 3968, 3970, 3971, 3973, 3975, 3977, 3978, 3980, 3981, 3983, 3985,
        3987, 3989, 3990, 3992, 3993, 3995, 3997, 3999, 4000, 4002, 4004, 4006, 4007, 4009, 4010, 4012, 4014, 4016, 4017, 4019, 4020, 4022, 4024, 4026, 4028, 4029, 4031, 4032, 4034, 4036, 4038, 4039,
        4041, 4042, 4044, 4046, 4048, 4050, 4051, 4053, 4054, 4056, 4058, 4060, 4061, 4063, 4064, 4066, 4068, 4070, 4072, 4073, 4075, 4076, 4078, 4080, 4082, 4083, 4085, 4086, 4088, 4090, 4092, 4093, 4095
    },
    3,
};

static const ot_isp_gamma_attr g_cmos_gamma_wdr = {
    1,
    {
        0, 5, 10, 15, 20, 25, 30, 35, 40, 44, 49, 54, 59, 64, 69, 74, 79, 84, 89, 94, 99, 103, 108, 113, 118, 123, 128, 133, 138,
        142, 147, 152, 157, 162, 167, 171, 176, 181, 186, 191, 196, 200, 205, 210, 215, 220, 224, 229, 234, 239, 244, 249, 253,
        258, 263, 268, 273, 278, 283, 287, 292, 297, 302, 307, 312, 317, 321, 326, 331, 336, 341, 346, 351, 356, 361, 366, 371,
        376, 381, 386, 391, 396, 401, 406, 411, 416, 421, 426, 431, 436, 441, 446, 451, 456, 461, 466, 472, 477, 482, 487, 492,
        498, 503, 508, 513, 519, 524, 529, 535, 540, 545, 551, 556, 561, 567, 572, 578, 583, 589, 594, 600, 605, 611, 616, 622,
        628, 633, 639, 645, 650, 656, 662, 667, 673, 679, 685, 691, 697, 702, 708, 714, 720, 726, 732, 738, 744, 750, 756, 762,
        768, 774, 780, 787, 793, 799, 805, 811, 817, 824, 830, 836, 842, 849, 855, 861, 867, 874, 880, 886, 893, 899, 905, 912,
        918, 925, 931, 937, 944, 950, 957, 963, 970, 976, 982, 989, 995, 1002, 1008, 1015, 1021, 1028, 1034, 1041, 1047, 1054,
        1060, 1067, 1074, 1080, 1087, 1093, 1100, 1106, 1113, 1119, 1126, 1132, 1139, 1145, 1152, 1159, 1165, 1172, 1178, 1185,
        1191, 1198, 1204, 1211, 1217, 1224, 1230, 1237, 1244, 1250, 1257, 1263, 1270, 1276, 1283, 1289, 1295, 1302, 1308, 1315,
        1321, 1328, 1334, 1341, 1347, 1353, 1360, 1366, 1373, 1379, 1385, 1392, 1398, 1404, 1411, 1417, 1423, 1430, 1436, 1442,
        1448, 1455, 1461, 1467, 1473, 1479, 1486, 1492, 1498, 1505, 1511, 1517, 1524, 1530, 1536, 1543, 1549, 1555, 1562, 1568,
        1575, 1581, 1587, 1594, 1600, 1607, 1613, 1620, 1626, 1632, 1639, 1645, 1652, 1658, 1665, 1671, 1678, 1684, 1690, 1697,
        1703, 1710, 1716, 1723, 1729, 1736, 1742, 1749, 1755, 1761, 1768, 1774, 1781, 1787, 1794, 1800, 1806, 1813, 1819, 1826,
        1832, 1838, 1845, 1851, 1857, 1864, 1870, 1876, 1883, 1889, 1895, 1902, 1908, 1914, 1920, 1927, 1933, 1939, 1945, 1952,
        1958, 1964, 1970, 1976, 1982, 1988, 1995, 2001, 2007, 2013, 2019, 2025, 2031, 2037, 2043, 2049, 2055, 2060, 2066, 2072,
        2078, 2084, 2090, 2095, 2101, 2107, 2113, 2118, 2124, 2130, 2135, 2141, 2147, 2152, 2158, 2163, 2169, 2174, 2180, 2185,
        2190, 2196, 2201, 2206, 2212, 2217, 2222, 2227, 2232, 2238, 2243, 2248, 2253, 2258, 2263, 2268, 2273, 2278, 2283, 2287,
        2292, 2297, 2302, 2307, 2312, 2316, 2321, 2326, 2330, 2335, 2340, 2344, 2349, 2354, 2358, 2363, 2367, 2372, 2376, 2381,
        2385, 2390, 2394, 2398, 2403, 2407, 2411, 2416, 2420, 2424, 2429, 2433, 2437, 2441, 2446, 2450, 2454, 2458, 2462, 2467,
        2471, 2475, 2479, 2483, 2487, 2491, 2495, 2499, 2503, 2507, 2511, 2515, 2519, 2523, 2527, 2531, 2535, 2539, 2543, 2547,
        2551, 2555, 2558, 2562, 2566, 2570, 2574, 2578, 2582, 2585, 2589, 2593, 2597, 2601, 2604, 2608, 2612, 2616, 2619, 2623,
        2627, 2631, 2634, 2638, 2642, 2646, 2649, 2653, 2657, 2660, 2664, 2668, 2671, 2675, 2679, 2683, 2686, 2690, 2694, 2697,
        2701, 2705, 2708, 2712, 2716, 2719, 2723, 2727, 2730, 2734, 2738, 2741, 2745, 2749, 2752, 2756, 2760, 2764, 2768, 2771,
        2775, 2779, 2782, 2786, 2789, 2793, 2796, 2800, 2804, 2807, 2811, 2814, 2818, 2821, 2825, 2828, 2832, 2835, 2839, 2842,
        2846, 2849, 2853, 2856, 2860, 2863, 2867, 2870, 2873, 2877, 2880, 2884, 2887, 2891, 2894, 2897, 2901, 2904, 2908, 2911,
        2914, 2918, 2921, 2924, 2928, 2931, 2934, 2938, 2941, 2944, 2948, 2951, 2954, 2958, 2961, 2964, 2967, 2971, 2974, 2977,
        2981, 2984, 2987, 2990, 2994, 2997, 3000, 3003, 3006, 3010, 3013, 3016, 3019, 3023, 3026, 3029, 3032, 3035, 3038, 3042,
        3045, 3048, 3051, 3054, 3057, 3061, 3064, 3067, 3070, 3073, 3076, 3079, 3082, 3086, 3089, 3092, 3095, 3098, 3101, 3104,
        3107, 3110, 3113, 3116, 3119, 3122, 3125, 3129, 3132, 3135, 3138, 3141, 3144, 3147, 3150, 3153, 3156, 3159, 3162, 3165,
        3168, 3171, 3174, 3177, 3180, 3183, 3185, 3188, 3191, 3194, 3197, 3200, 3203, 3206, 3209, 3212, 3215, 3218, 3221, 3224,
        3227, 3229, 3232, 3235, 3238, 3241, 3244, 3247, 3250, 3252, 3255, 3258, 3261, 3264, 3267, 3270, 3272, 3275, 3278, 3281,
        3284, 3287, 3289, 3292, 3295, 3298, 3301, 3303, 3306, 3309, 3312, 3315, 3317, 3320, 3323, 3326, 3328, 3331, 3334, 3337,
        3339, 3342, 3345, 3348, 3350, 3353, 3356, 3359, 3361, 3364, 3367, 3370, 3372, 3375, 3378, 3380, 3383, 3386, 3388, 3391,
        3394, 3396, 3399, 3402, 3405, 3407, 3410, 3413, 3415, 3418, 3420, 3423, 3426, 3428, 3431, 3434, 3436, 3439, 3442, 3444,
        3447, 3449, 3452, 3455, 3457, 3460, 3462, 3465, 3468, 3470, 3473, 3475, 3478, 3481, 3483, 3486, 3488, 3491, 3493, 3496,
        3498, 3501, 3504, 3506, 3509, 3511, 3514, 3516, 3519, 3521, 3524, 3526, 3529, 3531, 3534, 3536, 3539, 3541, 3544, 3546,
        3549, 3551, 3554, 3556, 3559, 3561, 3564, 3566, 3569, 3571, 3574, 3576, 3579, 3581, 3584, 3586, 3588, 3591, 3593, 3596,
        3598, 3601, 3603, 3606, 3608, 3610, 3613, 3615, 3618, 3620, 3622, 3625, 3627, 3630, 3632, 3634, 3637, 3639, 3642, 3644,
        3646, 3649, 3651, 3654, 3656, 3658, 3661, 3663, 3665, 3668, 3670, 3673, 3675, 3677, 3680, 3682, 3684, 3687, 3689, 3691,
        3694, 3696, 3698, 3701, 3703, 3705, 3708, 3710, 3712, 3714, 3717, 3719, 3721, 3724, 3726, 3728, 3731, 3733, 3735, 3737,
        3740, 3742, 3744, 3747, 3749, 3751, 3753, 3756, 3758, 3760, 3762, 3765, 3767, 3769, 3771, 3774, 3776, 3778, 3780, 3783,
        3785, 3787, 3789, 3792, 3794, 3796, 3798, 3801, 3803, 3805, 3807, 3809, 3812, 3814, 3816, 3818, 3820, 3823, 3825, 3827,
        3829, 3831, 3834, 3836, 3838, 3840, 3842, 3844, 3847, 3849, 3851, 3853, 3855, 3857, 3860, 3862, 3864, 3866, 3868, 3870,
        3873, 3875, 3877, 3879, 3881, 3883, 3885, 3888, 3890, 3892, 3894, 3896, 3898, 3900, 3902, 3905, 3907, 3909, 3911, 3913,
        3915, 3917, 3919, 3921, 3924, 3926, 3928, 3930, 3932, 3934, 3936, 3938, 3940, 3942, 3944, 3946, 3949, 3951, 3953, 3955,
        3957, 3959, 3961, 3963, 3965, 3967, 3969, 3971, 3973, 3975, 3977, 3979, 3981, 3984, 3986, 3988, 3990, 3992, 3994, 3996,
        3998, 4000, 4002, 4004, 4006, 4008, 4010, 4012, 4014, 4016, 4018, 4020, 4022, 4024, 4026, 4028, 4030, 4032, 4034, 4036,
        4038, 4040, 4042, 4044, 4046, 4048, 4050, 4052, 4054, 4056, 4058, 4060, 4062, 4064, 4066, 4068, 4070, 4072, 4074, 4075,
        4077, 4079, 4081, 4083, 4085, 4087, 4089, 4091, 4093, 4095
    },
    3,
};
#ifdef CONFIG_OT_ISP_PREGAMMA_SUPPORT
static const ot_isp_pregamma_attr g_cmos_pregamma = {
    0,
    {
        0, 12417, 21619, 29902, 37641, 44997, 52063, 58896, 65536, 72012, 78344, 84552, 90647, 96641, 102544, 108363, 114105, 119775, 125379, 130921,
        136406, 141835, 147213, 152542, 157825, 163065, 168262, 173420, 178540, 183623, 188671, 193686, 198668, 203619, 208541, 213433, 218298, 223136,
        227947, 232734, 237496, 242234, 246949, 251642, 256313, 260962, 265592, 270201, 274790, 279360, 283912, 288446, 292962, 297460, 301942, 306407,
        310855, 315288, 319706, 324108, 328495, 332868, 337226, 341571, 345901, 350218, 354522, 358813, 363091, 367356, 371609, 375850, 380079, 384296,
        388502, 392696, 396880, 401052, 405213, 409364, 413504, 417634, 421754, 425863, 429963, 434053, 438134, 442205, 446266, 450319, 454362, 458396,
        462422, 466438, 470446, 474446, 478437, 482420, 486395, 490361, 494320, 498270, 502213, 506148, 510076, 513996, 517908, 521813, 525711, 529601,
        533485, 537361, 541231, 545093, 548949, 552798, 556640, 560475, 564305, 568127, 571943, 575753, 579557, 583354, 587145, 590930, 594709, 598482,
        602249, 606010, 609765, 613515, 617259, 620997, 624729, 628456, 632178, 635894, 639604, 643309, 647009, 650704, 654393, 658077, 661756, 665430,
        669099, 672763, 676421, 680075, 683724, 687368, 691008, 694642, 698272, 701897, 705517, 709133, 712744, 716351, 719953, 723550, 727143, 730732,
        734316, 737896, 741471, 745043, 748610, 752172, 755731, 759285, 762835, 766381, 769923, 773461, 776995, 780525, 784050, 787572, 791090, 794604,
        798114, 801620, 805123, 808622, 812116, 815608, 819095, 822579, 826059, 829535, 833008, 836477, 839942, 843404, 846862, 850317, 853768, 857216,
        860661, 864102, 867539, 870973, 874404, 877831, 881255, 884676, 888093, 891507, 894918, 898326, 901730, 905131, 908529, 911924, 915316, 918704,
        922090, 925472, 928851, 932227, 935600, 938970, 942337, 945701, 949062, 952420, 955775, 959127, 962477, 965823, 969166, 972507, 975845, 979179,
        982511, 985840, 989167, 992490, 995811, 999129, 1002444, 1005757, 1009067, 1012374, 1015678, 1018980, 1022279, 1025575, 1028869, 1032160, 1035448,
        1038734, 1042017, 1045298, 1048575
    }
};
#endif

static const ot_isp_sharpen_attr g_cmos_yuv_sharpen = {
    /* en */
    1,
    /* motion_en */
    0,
    /* motion_threshold0 */
    2,
    /* motion_threshold1 */
    8,
    /* motion_gain0 */
    0,
    /* motion_gain1 */
    256,
    /* skin_umin */
    100,
    /* skin_vmin */
    135,
    /* skin_umax */
    128,
    /* skin_vmax */
    150,
    /* op_type */
    OT_OP_MODE_AUTO,
    /* detail_map */
    OT_ISP_SHARPEN_NORMAL,
    /* manual para */
    {
        /* luma_wgt[OT_ISP_SHARPEN_LUMA_NUM] */
        {
            31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
            31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31
        },
        /* texture_strength[OT_ISP_SHARPEN_GAIN_NUM] */
        {
            250, 420, 390, 390, 390, 390, 390, 370, 350, 330, 310, 290, 270, 270, 270, 270,
            270, 270, 266, 260, 244, 230, 230, 230, 230, 230, 230, 210, 190, 190, 170, 150
        },
        /* edge_strength[OT_ISP_SHARPEN_GAIN_NUM] */
        {
            120, 123, 125, 128, 130, 135, 140, 148, 160, 168, 180, 190, 200, 210, 210, 210,
            210, 210, 200, 190, 185, 175, 165, 160, 146, 136, 130, 128, 125, 123, 120, 120
        },
        /* texture_freq */
        190,
        /* edge_freq */
        128,
        /* over_shoot */
        65,
        /* under_shoot */
        75,
        /* motion_texture_strength[OT_ISP_SHARPEN_GAIN_NUM] */
        {
            250, 420, 390, 390, 390, 390, 390, 370, 350, 330, 310, 290, 270, 270, 270, 270,
            270, 270, 266, 260, 244, 230, 230, 230, 230, 230, 230, 210, 190, 190, 170, 150
        },
        /* motion_edge_strength[OT_ISP_SHARPEN_GAIN_NUM] */
        {
            120, 123, 125, 128, 130, 135, 140, 148, 160, 168, 180, 190, 200, 210, 210, 210,
            210, 210, 200, 190, 185, 175, 165, 160, 146, 136, 130, 128, 125, 123, 120, 120
        },
        /* motion_texture_freq */
        190,
        /* motion_edge_freq */
        128,
        /* motion_over_shoot */
        65,
        /* motion_under_shoot */
        75,
        /* u8shoot_sup_str */
        7,
        /* u8shoot_sup_adj */
        9,
        /* detail_ctrl */
        128,
        /* detail_ctrl_threshold */
        180,
        /* edge_filt_strength */
        60,
        /* edge_filt_max_cap */
        18,
        /* r_gain */
        20,
        /* g_gain */
        32,
        /* b_gain */
        20,
        /* skin_gain */
        25,
        /* max_sharp_gain */
        40,
    },
    /* auto para */
    {
        /* luma_wgt[OT_ISP_SHARPEN_GAIN_NUM][OT_ISP_AUTO_ISO_NUM] */
        {
            { 31, 31, 20, 20, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15 },
            { 31, 31, 20, 20, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15 },
            { 31, 31, 20, 20, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15 },
            { 31, 31, 20, 20, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15 },
            { 31, 31, 20, 20, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15 },
            { 31, 31, 20, 20, 17, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15 },
            { 31, 31, 20, 20, 20, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 },
            { 31, 31, 23, 23, 23, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21 },
            { 31, 31, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25 },
            { 31, 31, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 28, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 23, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 23, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 23, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 23, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 23, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 23, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 23, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 23, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 23, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 23, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 23, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 23, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 23, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 23, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 23, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 23, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 }
        },
        /* texture_strength[OT_ISP_SHARPEN_GAIN_NUM][OT_ISP_AUTO_ISO_NUM] */
        {
            { 153, 153, 160, 145, 130, 130, 130, 105, 105, 105, 105, 85, 85, 85, 85, 85 },
            { 172, 167, 190, 170, 145, 145, 145, 120, 120, 120, 120, 100, 100, 100, 100, 100 },
            { 186, 178, 220, 195, 165, 165, 160, 140, 140, 135, 135, 120, 120, 120, 120, 120 },
            { 201, 192, 255, 215, 180, 180, 175, 160, 160, 150, 150, 135, 135, 140, 140, 140 },
            { 217, 207, 275, 230, 200, 200, 185, 175, 175, 160, 160, 150, 150, 160, 160, 160 },
            { 233, 223, 285, 245, 210, 215, 200, 190, 190, 170, 170, 165, 165, 180, 180, 180 },
            { 251, 239, 280, 260, 225, 225, 215, 205, 205, 180, 180, 185, 185, 200, 200, 200 },
            { 269, 255, 275, 265, 240, 240, 230, 220, 220, 190, 190, 200, 200, 210, 210, 210 },
            { 286, 272, 270, 270, 250, 250, 240, 225, 225, 200, 200, 220, 220, 220, 220, 220 },
            { 300, 288, 265, 270, 250, 260, 245, 235, 235, 210, 210, 235, 235, 230, 230, 230 },
            { 308, 299, 260, 265, 250, 270, 255, 245, 245, 220, 220, 245, 245, 230, 230, 230 },
            { 312, 307, 260, 260, 250, 275, 260, 250, 250, 230, 230, 255, 255, 230, 230, 230 },
            { 313, 310, 255, 255, 245, 280, 265, 255, 255, 235, 235, 265, 265, 230, 230, 230 },
            { 311, 311, 250, 250, 240, 285, 270, 255, 255, 240, 240, 275, 275, 230, 230, 230 },
            { 306, 311, 245, 245, 240, 290, 275, 250, 255, 245, 245, 280, 280, 230, 230, 230 },
            { 297, 308, 240, 240, 240, 295, 280, 240, 250, 250, 250, 285, 285, 230, 230, 230 },
            { 285, 301, 235, 235, 235, 295, 280, 235, 250, 250, 255, 290, 290, 230, 230, 230 },
            { 273, 291, 230, 230, 230, 290, 280, 230, 250, 250, 260, 295, 295, 230, 230, 230 },
            { 263, 281, 225, 225, 225, 285, 275, 225, 245, 250, 265, 300, 300, 225, 225, 225 },
            { 255, 271, 225, 220, 220, 275, 270, 225, 245, 250, 270, 300, 300, 220, 220, 220 },
            { 249, 259, 220, 215, 215, 270, 265, 225, 240, 245, 275, 300, 300, 210, 210, 210 },
            { 243, 248, 220, 210, 210, 260, 260, 220, 235, 245, 280, 305, 305, 200, 200, 200 },
            { 234, 238, 215, 205, 205, 255, 255, 220, 230, 240, 280, 305, 305, 190, 190, 190 },
            { 224, 228, 215, 200, 200, 245, 245, 220, 230, 240, 285, 310, 310, 180, 180, 180 },
            { 216, 218, 210, 195, 195, 235, 240, 215, 225, 235, 285, 310, 310, 175, 175, 175 },
            { 208, 208, 200, 190, 190, 230, 235, 215, 220, 230, 285, 305, 305, 170, 170, 170 },
            { 201, 201, 195, 180, 180, 220, 225, 210, 220, 225, 285, 305, 305, 160, 160, 160 },
            { 195, 195, 185, 175, 175, 205, 220, 205, 215, 220, 285, 300, 300, 160, 160, 160 },
            { 188, 188, 175, 170, 170, 195, 210, 195, 210, 215, 280, 300, 300, 150, 150, 150 },
            { 181, 181, 170, 160, 160, 180, 205, 195, 205, 210, 280, 300, 300, 145, 145, 145 },
            { 175, 175, 160, 155, 155, 165, 195, 195, 200, 205, 275, 300, 300, 130, 130, 130 },
            { 171, 171, 150, 150, 150, 150, 150, 150, 195, 200, 270, 300, 300, 115, 115, 115 }
        },
        /* edge_strength */
        {
            { 195, 195, 195, 195, 195, 195, 400, 440, 500, 475, 475, 475, 475, 475, 475, 475 },
            { 210, 210, 200, 200, 200, 200, 400, 440, 500, 485, 485, 485, 485, 485, 485, 485 },
            { 235, 235, 220, 220, 220, 220, 400, 440, 500, 495, 495, 495, 495, 495, 495, 495 },
            { 260, 260, 230, 230, 230, 230, 400, 440, 500, 500, 500, 500, 500, 500, 500, 500 },
            { 295, 295, 240, 240, 240, 240, 400, 440, 500, 510, 510, 510, 510, 510, 510, 510 },
            { 320, 320, 250, 250, 250, 250, 400, 440, 500, 520, 520, 520, 520, 520, 520, 520 },
            { 340, 340, 260, 260, 260, 260, 420, 460, 540, 530, 530, 530, 530, 530, 530, 530 },
            { 350, 350, 270, 270, 270, 270, 420, 460, 540, 540, 540, 540, 540, 540, 540, 540 },
            { 360, 360, 280, 280, 280, 280, 420, 460, 540, 545, 545, 545, 545, 545, 545, 545 },
            { 360, 360, 280, 280, 280, 280, 420, 460, 540, 550, 550, 550, 550, 550, 550, 550 },
            { 355, 355, 285, 285, 285, 285, 420, 460, 540, 560, 560, 560, 560, 560, 560, 560 },
            { 345, 345, 290, 290, 290, 290, 420, 460, 540, 565, 565, 565, 565, 565, 565, 565 },
            { 335, 335, 290, 290, 290, 290, 420, 460, 540, 570, 570, 570, 570, 570, 570, 570 },
            { 330, 330, 295, 295, 295, 295, 430, 470, 550, 575, 575, 575, 575, 575, 575, 575 },
            { 325, 325, 295, 295, 295, 295, 430, 470, 550, 580, 580, 580, 580, 580, 580, 580 },
            { 320, 320, 295, 295, 295, 295, 440, 470, 550, 575, 575, 575, 575, 575, 575, 575 },
            { 315, 315, 295, 295, 295, 295, 440, 470, 550, 570, 570, 570, 570, 570, 570, 570 },
            { 310, 310, 295, 295, 295, 295, 450, 480, 580, 565, 565, 565, 565, 565, 565, 565 },
            { 305, 305, 295, 295, 295, 295, 460, 500, 580, 560, 560, 560, 560, 560, 560, 560 },
            { 295, 295, 290, 290, 290, 290, 460, 500, 580, 555, 555, 555, 555, 555, 555, 555 },
            { 285, 285, 285, 285, 285, 285, 460, 500, 580, 550, 550, 550, 550, 550, 550, 550 },
            { 280, 280, 280, 280, 280, 280, 460, 500, 580, 540, 540, 540, 540, 540, 540, 540 },
            { 275, 275, 275, 275, 275, 275, 460, 500, 580, 535, 535, 535, 535, 535, 535, 535 },
            { 265, 265, 265, 265, 265, 265, 460, 500, 580, 530, 530, 530, 530, 530, 530, 530 },
            { 250, 250, 250, 250, 250, 250, 460, 500, 580, 520, 520, 520, 520, 520, 520, 520 },
            { 240, 240, 240, 240, 240, 240, 470, 500, 580, 515, 515, 515, 515, 515, 515, 515 },
            { 220, 220, 220, 220, 220, 220, 470, 500, 580, 510, 510, 510, 510, 510, 510, 510 },
            { 200, 200, 200, 200, 200, 200, 470, 500, 580, 500, 500, 500, 500, 500, 500, 500 },
            { 180, 180, 180, 180, 180, 180, 480, 500, 580, 495, 495, 495, 495, 495, 495, 495 },
            { 160, 160, 160, 160, 160, 160, 480, 500, 580, 485, 485, 485, 485, 485, 485, 485 },
            { 140, 140, 140, 140, 140, 140, 480, 500, 580, 480, 480, 480, 480, 480, 480, 480 },
            { 125, 125, 125, 125, 125, 125, 480, 500, 580, 470, 470, 470, 470, 470, 470, 470 }
        },
        /* texture_freq[OT_ISP_AUTO_ISO_NUM] */
        { 180, 190, 190, 170, 170, 170, 160, 140, 128, 128, 128, 100, 100, 100, 100, 100 },
        /* edge_freq[OT_ISP_AUTO_ISO_NUM] */
        { 128, 100, 100, 100, 100, 100, 100, 100, 100, 100, 96, 96, 96, 96, 96, 96 },
        /* over_shoot[OT_ISP_AUTO_ISO_NUM] */
        { 60, 62, 62, 64, 64, 64, 56, 52, 50, 50, 30, 10, 10, 10, 10, 10 },
        /* under_shoot[OT_ISP_AUTO_ISO_NUM] */
        { 60, 62, 62, 64, 64, 64, 54, 50, 50, 30, 20, 20, 15, 15, 15, 15 },
        /* motion_texture_strength[OT_ISP_SHARPEN_GAIN_NUM][OT_ISP_AUTO_ISO_NUM] */
        {
            { 153, 153, 160, 145, 130, 130, 130, 105, 105, 105, 105, 85, 85, 85, 85, 85 },
            { 172, 167, 190, 170, 145, 145, 145, 120, 120, 120, 120, 100, 100, 100, 100, 100 },
            { 186, 178, 220, 195, 165, 165, 160, 140, 140, 135, 135, 120, 120, 120, 120, 120 },
            { 201, 192, 255, 215, 180, 180, 175, 160, 160, 150, 150, 135, 135, 140, 140, 140 },
            { 217, 207, 275, 230, 200, 200, 185, 175, 175, 160, 160, 150, 150, 160, 160, 160 },
            { 233, 223, 285, 245, 210, 215, 200, 190, 190, 170, 170, 165, 165, 180, 180, 180 },
            { 251, 239, 280, 260, 225, 225, 215, 205, 205, 180, 180, 185, 185, 200, 200, 200 },
            { 269, 255, 275, 265, 240, 240, 230, 220, 220, 190, 190, 200, 200, 210, 210, 210 },
            { 286, 272, 270, 270, 250, 250, 240, 225, 225, 200, 200, 220, 220, 220, 220, 220 },
            { 300, 288, 265, 270, 250, 260, 245, 235, 235, 210, 210, 235, 235, 230, 230, 230 },
            { 308, 299, 260, 265, 250, 270, 255, 245, 245, 220, 220, 245, 245, 230, 230, 230 },
            { 312, 307, 260, 260, 250, 275, 260, 250, 250, 230, 230, 255, 255, 230, 230, 230 },
            { 313, 310, 255, 255, 245, 280, 265, 255, 255, 235, 235, 265, 265, 230, 230, 230 },
            { 311, 311, 250, 250, 240, 285, 270, 255, 255, 240, 240, 275, 275, 230, 230, 230 },
            { 306, 311, 245, 245, 240, 290, 275, 250, 255, 245, 245, 280, 280, 230, 230, 230 },
            { 297, 308, 240, 240, 240, 295, 280, 240, 250, 250, 250, 285, 285, 230, 230, 230 },
            { 285, 301, 235, 235, 235, 295, 280, 235, 250, 250, 255, 290, 290, 230, 230, 230 },
            { 273, 291, 230, 230, 230, 290, 280, 230, 250, 250, 260, 295, 295, 230, 230, 230 },
            { 263, 281, 225, 225, 225, 285, 275, 225, 245, 250, 265, 300, 300, 225, 225, 225 },
            { 255, 271, 225, 220, 220, 275, 270, 225, 245, 250, 270, 300, 300, 220, 220, 220 },
            { 249, 259, 220, 215, 215, 270, 265, 225, 240, 245, 275, 300, 300, 210, 210, 210 },
            { 243, 248, 220, 210, 210, 260, 260, 220, 235, 245, 280, 305, 305, 200, 200, 200 },
            { 234, 238, 215, 205, 205, 255, 255, 220, 230, 240, 280, 305, 305, 190, 190, 190 },
            { 224, 228, 215, 200, 200, 245, 245, 220, 230, 240, 285, 310, 310, 180, 180, 180 },
            { 216, 218, 210, 195, 195, 235, 240, 215, 225, 235, 285, 310, 310, 175, 175, 175 },
            { 208, 208, 200, 190, 190, 230, 235, 215, 220, 230, 285, 305, 305, 170, 170, 170 },
            { 201, 201, 195, 180, 180, 220, 225, 210, 220, 225, 285, 305, 305, 160, 160, 160 },
            { 195, 195, 185, 175, 175, 205, 220, 205, 215, 220, 285, 300, 300, 160, 160, 160 },
            { 188, 188, 175, 170, 170, 195, 210, 195, 210, 215, 280, 300, 300, 150, 150, 150 },
            { 181, 181, 170, 160, 160, 180, 205, 195, 205, 210, 280, 300, 300, 145, 145, 145 },
            { 175, 175, 160, 155, 155, 165, 195, 195, 200, 205, 275, 300, 300, 130, 130, 130 },
            { 171, 171, 150, 150, 150, 150, 150, 150, 195, 200, 270, 300, 300, 115, 115, 115 }
        },
        /* motion_edge_strength     */
        {
            { 195, 195, 195, 195, 195, 195, 400, 440, 500, 475, 475, 475, 475, 475, 475, 475 },
            { 210, 210, 200, 200, 200, 200, 400, 440, 500, 485, 485, 485, 485, 485, 485, 485 },
            { 235, 235, 220, 220, 220, 220, 400, 440, 500, 495, 495, 495, 495, 495, 495, 495 },
            { 260, 260, 230, 230, 230, 230, 400, 440, 500, 500, 500, 500, 500, 500, 500, 500 },
            { 295, 295, 240, 240, 240, 240, 400, 440, 500, 510, 510, 510, 510, 510, 510, 510 },
            { 320, 320, 250, 250, 250, 250, 400, 440, 500, 520, 520, 520, 520, 520, 520, 520 },
            { 340, 340, 260, 260, 260, 260, 420, 460, 540, 530, 530, 530, 530, 530, 530, 530 },
            { 350, 350, 270, 270, 270, 270, 420, 460, 540, 540, 540, 540, 540, 540, 540, 540 },
            { 360, 360, 280, 280, 280, 280, 420, 460, 540, 545, 545, 545, 545, 545, 545, 545 },
            { 360, 360, 280, 280, 280, 280, 420, 460, 540, 550, 550, 550, 550, 550, 550, 550 },
            { 355, 355, 285, 285, 285, 285, 420, 460, 540, 560, 560, 560, 560, 560, 560, 560 },
            { 345, 345, 290, 290, 290, 290, 420, 460, 540, 565, 565, 565, 565, 565, 565, 565 },
            { 335, 335, 290, 290, 290, 290, 420, 460, 540, 570, 570, 570, 570, 570, 570, 570 },
            { 330, 330, 295, 295, 295, 295, 430, 470, 550, 575, 575, 575, 575, 575, 575, 575 },
            { 325, 325, 295, 295, 295, 295, 430, 470, 550, 580, 580, 580, 580, 580, 580, 580 },
            { 320, 320, 295, 295, 295, 295, 440, 470, 550, 575, 575, 575, 575, 575, 575, 575 },
            { 315, 315, 295, 295, 295, 295, 440, 470, 550, 570, 570, 570, 570, 570, 570, 570 },
            { 310, 310, 295, 295, 295, 295, 450, 480, 580, 565, 565, 565, 565, 565, 565, 565 },
            { 305, 305, 295, 295, 295, 295, 460, 500, 580, 560, 560, 560, 560, 560, 560, 560 },
            { 295, 295, 290, 290, 290, 290, 460, 500, 580, 555, 555, 555, 555, 555, 555, 555 },
            { 285, 285, 285, 285, 285, 285, 460, 500, 580, 550, 550, 550, 550, 550, 550, 550 },
            { 280, 280, 280, 280, 280, 280, 460, 500, 580, 540, 540, 540, 540, 540, 540, 540 },
            { 275, 275, 275, 275, 275, 275, 460, 500, 580, 535, 535, 535, 535, 535, 535, 535 },
            { 265, 265, 265, 265, 265, 265, 460, 500, 580, 530, 530, 530, 530, 530, 530, 530 },
            { 250, 250, 250, 250, 250, 250, 460, 500, 580, 520, 520, 520, 520, 520, 520, 520 },
            { 240, 240, 240, 240, 240, 240, 470, 500, 580, 515, 515, 515, 515, 515, 515, 515 },
            { 220, 220, 220, 220, 220, 220, 470, 500, 580, 510, 510, 510, 510, 510, 510, 510 },
            { 200, 200, 200, 200, 200, 200, 470, 500, 580, 500, 500, 500, 500, 500, 500, 500 },
            { 180, 180, 180, 180, 180, 180, 480, 500, 580, 495, 495, 495, 495, 495, 495, 495 },
            { 160, 160, 160, 160, 160, 160, 480, 500, 580, 485, 485, 485, 485, 485, 485, 485 },
            { 140, 140, 140, 140, 140, 140, 480, 500, 580, 480, 480, 480, 480, 480, 480, 480 },
            { 125, 125, 125, 125, 125, 125, 480, 500, 580, 470, 470, 470, 470, 470, 470, 470 }
        },
        /* motion_texture_freq[OT_ISP_AUTO_ISO_NUM] */
        { 180, 190, 190, 170, 170, 170, 160, 140, 128, 128, 128, 100, 100, 100, 100, 100 },
        /* motion_edge_freq[OT_ISP_AUTO_ISO_NUM] */
        { 128, 100, 100, 100, 100, 100, 100, 100, 100, 100, 96, 96, 96, 96, 96, 96 },
        /* motion_over_shoot[OT_ISP_AUTO_ISO_NUM] */
        { 60, 62, 62, 64, 64, 64, 56, 52, 50, 50, 30, 10, 10, 10, 10, 10 },
        /* motion_under_shoot[OT_ISP_AUTO_ISO_NUM] */
        { 60, 62, 62, 64, 64, 64, 54, 50, 50, 30, 20, 20, 15, 15, 15, 15 },
        /* shoot_sup_strength[OT_ISP_AUTO_ISO_NUM] */
        { 8, 8, 7, 7, 7, 6, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0 },
        /* shoot_sup_adj[OT_ISP_AUTO_ISO_NUM] */
        { 9, 9, 8, 8, 7, 7, 7, 6, 0, 0, 0, 0, 0, 0, 0, 0 },
        /* detail_ctrl[OT_ISP_AUTO_ISO_NUM] */
        { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 120, 120, 120, 120, 120, 120 },
        /* detail_ctrl_threshold[OT_ISP_AUTO_ISO_NUM] */
        { 180, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160 },
        /* edge_filt_strength[OT_ISP_AUTO_ISO_NUM] */
        { 60, 58, 60, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62 },
        /* edge_filt_max_cap */
        { 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 },
        /* r_gain[OT_ISP_AUTO_ISO_NUM] */
        { 12, 16, 20, 24, 24, 24, 26, 28, 31, 31, 31, 31, 31, 31, 31, 31 },
        /* g_gain[OT_ISP_AUTO_ISO_NUM] */
        { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 },
        /* b_gain[OT_ISP_AUTO_ISO_NUM] */
        { 18, 20, 24, 24, 24, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22 },
        /* skin_gain[OT_ISP_AUTO_ISO_NUM] */
        { 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
        /* max_sharp_gain[OT_ISP_AUTO_ISO_NUM] */
        { 30, 30, 30, 30, 30, 26, 20, 20, 18, 18, 18, 18, 18, 18, 18, 18 },
    },
};

static const ot_isp_sharpen_attr g_cmos_yuv_sharpen_wdr = {
    /* en */
    1,
    /* motion_en */
    0,
    /* motion_threshold0 */
    2,
    /* motion_threshold1 */
    8,
    /* motion_gain0 */
    0,
    /* motion_gain1 */
    256,
    /* skin_umin */
    100,
    /* skin_vmin */
    135,
    /* skin_umax */
    128,
    /* skin_vmax */
    150,
    /* op_type */
    OT_OP_MODE_AUTO,
    /* detail_map */
    OT_ISP_SHARPEN_NORMAL,
    /* manual para */
    {
        /* luma_wgt[OT_ISP_SHARPEN_LUMA_NUM] */
        {
            31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
            31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31
        },
        /* texture_strength[OT_ISP_SHARPEN_GAIN_NUM] */
        {
            250, 420, 390, 390, 390, 390, 390, 370, 350, 330, 310, 290, 270, 270, 270, 270,
            270, 270, 266, 260, 244, 230, 230, 230, 230, 230, 230, 210, 190, 190, 170, 150
        },
        /* edge_strength[OT_ISP_SHARPEN_GAIN_NUM] */
        {
            120, 123, 125, 128, 130, 135, 140, 148, 160, 168, 180, 190, 200, 210, 210, 210,
            210, 210, 200, 190, 185, 175, 165, 160, 146, 136, 130, 128, 125, 123, 120, 120
        },
        /* texture_freq */
        200,
        /* edge_freq */
        128,
        /* over_shoot */
        65,
        /* under_shoot */
        75,
        /* motion_texture_strength[OT_ISP_SHARPEN_GAIN_NUM] */
        {
            250, 420, 390, 390, 390, 390, 390, 370, 350, 330, 310, 290, 270, 270, 270, 270,
            270, 270, 266, 260, 244, 230, 230, 230, 230, 230, 230, 210, 190, 190, 170, 150
        },
        /* motion_edge_strength[OT_ISP_SHARPEN_GAIN_NUM] */
        {
            120, 123, 125, 128, 130, 135, 140, 148, 160, 168, 180, 190, 200, 210, 210, 210,
            210, 210, 200, 190, 185, 175, 165, 160, 146, 136, 130, 128, 125, 123, 120, 120
        },
        /* motion_texture_freq */
        200,
        /* motion_edge_freq */
        128,
        /* motion_over_shoot */
        65,
        /* motion_under_shoot */
        75,
        /* u8shoot_sup_str */
        7,
        /* u8shoot_sup_adj */
        9,
        /* detail_ctrl */
        128,
        /* detail_ctrl_threshold */
        180,
        /* edge_filt_strength */
        50,
        /* edge_filt_max_cap */
        18,
        /* r_gain */
        20,
        /* g_gain */
        32,
        /* b_gain */
        20,
        /* skin_gain */
        25,
        /* max_sharp_gain */
        40,
    },
    /* auto para */
    {
        /* luma_wgt[OT_ISP_SHARPEN_GAIN_NUM][OT_ISP_AUTO_ISO_NUM] */
        {
            { 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24 },
            { 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25 },
            { 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25 },
            { 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25 },
            { 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26 },
            { 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26 },
            { 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26 },
            { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27 },
            { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27 },
            { 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28 },
            { 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28 },
            { 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29 },
            { 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29 },
            { 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29 },
            { 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30 },
            { 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30 },
            { 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30 },
            { 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30 },
            { 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
            { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 }
        },

        /* texture_strength[OT_ISP_SHARPEN_GAIN_NUM][OT_ISP_AUTO_ISO_NUM] */
        {
            {159, 159, 159, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140},
            {167, 167, 167, 144, 144, 144, 144, 143, 143, 143, 143, 143, 143, 143, 143, 143},
            {176, 176, 176, 151, 151, 151, 151, 147, 147, 147, 147, 147, 147, 147, 147, 147},
            {186, 186, 186, 158, 158, 158, 158, 152, 152, 152, 152, 152, 152, 152, 152, 152},
            {196, 196, 196, 166, 166, 166, 166, 158, 158, 158, 158, 158, 158, 158, 158, 158},
            {206, 206, 206, 176, 176, 176, 176, 164, 164, 164, 164, 164, 164, 164, 164, 164},
            {217, 217, 217, 185, 185, 185, 185, 171, 171, 171, 171, 171, 171, 171, 171, 171},
            {227, 227, 227, 195, 195, 195, 195, 177, 177, 177, 177, 177, 177, 177, 177, 177},
            {237, 237, 237, 205, 205, 205, 205, 184, 184, 184, 184, 184, 184, 184, 184, 184},
            {246, 246, 246, 214, 214, 214, 214, 190, 190, 190, 190, 190, 190, 190, 190, 190},
            {254, 254, 254, 223, 223, 223, 223, 196, 196, 196, 196, 196, 196, 196, 196, 196},
            {261, 261, 261, 231, 231, 231, 231, 201, 201, 201, 201, 201, 201, 201, 201, 201},
            {268, 268, 268, 237, 237, 237, 237, 206, 206, 206, 206, 206, 206, 206, 206, 206},
            {272, 272, 272, 242, 242, 242, 242, 209, 209, 209, 209, 209, 209, 209, 209, 209},
            {276, 276, 276, 245, 245, 245, 245, 211, 211, 211, 211, 211, 211, 211, 211, 211},
            {277, 277, 277, 247, 247, 247, 247, 212, 212, 212, 212, 212, 212, 212, 212, 212},
            {276, 276, 276, 246, 246, 246, 246, 211, 211, 211, 211, 211, 211, 211, 211, 211},
            {274, 274, 274, 243, 243, 243, 243, 209, 209, 209, 209, 209, 209, 209, 209, 209},
            {270, 270, 270, 238, 238, 238, 238, 206, 206, 206, 206, 206, 206, 206, 206, 206},
            {265, 265, 265, 232, 232, 232, 232, 202, 202, 202, 202, 202, 202, 202, 202, 202},
            {258, 258, 258, 225, 225, 225, 225, 197, 197, 197, 197, 197, 197, 197, 197, 197},
            {250, 250, 250, 217, 217, 217, 217, 192, 192, 192, 192, 192, 192, 192, 192, 192},
            {242, 242, 242, 209, 209, 209, 209, 186, 186, 186, 186, 186, 186, 186, 186, 186},
            {233, 233, 233, 199, 199, 199, 199, 180, 180, 180, 180, 180, 180, 180, 180, 180},
            {224, 224, 224, 190, 190, 190, 190, 174, 174, 174, 174, 174, 174, 174, 174, 174},
            {215, 215, 215, 181, 181, 181, 181, 167, 167, 167, 167, 167, 167, 167, 167, 167},
            {206, 206, 206, 172, 172, 172, 172, 161, 161, 161, 161, 161, 161, 161, 161, 161},
            {198, 198, 198, 163, 163, 163, 163, 156, 156, 156, 156, 156, 156, 156, 156, 156},
            {191, 191, 191, 156, 156, 156, 156, 150, 150, 150, 150, 150, 150, 150, 150, 150},
            {184, 184, 184, 149, 149, 149, 149, 146, 146, 146, 146, 146, 146, 146, 146, 146},
            {179, 179, 179, 143, 143, 143, 143, 142, 142, 142, 142, 142, 142, 142, 142, 142},
            {175, 175, 175, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139},
        },
        /* edge_strength     */
        {
            {149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149},
            {155, 155, 155, 155, 155, 155, 155, 154, 154, 154, 154, 154, 154, 154, 154, 154},
            {164, 164, 164, 164, 164, 164, 164, 161, 161, 161, 161, 161, 161, 161, 161, 161},
            {175, 175, 175, 175, 175, 175, 175, 170, 170, 170, 170, 170, 170, 170, 170, 170},
            {187, 187, 187, 187, 187, 187, 187, 180, 180, 180, 180, 180, 180, 180, 180, 180},
            {201, 201, 201, 201, 201, 201, 201, 190, 190, 190, 190, 190, 190, 190, 190, 190},
            {215, 215, 215, 215, 215, 215, 215, 202, 202, 202, 202, 202, 202, 202, 202, 202},
            {229, 229, 229, 229, 229, 229, 229, 213, 213, 213, 213, 213, 213, 213, 213, 213},
            {243, 243, 243, 243, 243, 243, 243, 224, 224, 224, 224, 224, 224, 224, 224, 224},
            {257, 257, 257, 257, 257, 257, 257, 235, 235, 235, 235, 235, 235, 235, 235, 235},
            {269, 269, 269, 269, 269, 269, 269, 246, 246, 246, 246, 246, 246, 246, 246, 246},
            {281, 281, 281, 281, 281, 281, 281, 255, 255, 255, 255, 255, 255, 255, 255, 255},
            {290, 290, 290, 290, 290, 290, 290, 262, 262, 262, 262, 262, 262, 262, 262, 262},
            {298, 298, 298, 298, 298, 298, 298, 268, 268, 268, 268, 268, 268, 268, 268, 268},
            {302, 302, 302, 302, 302, 302, 302, 272, 272, 272, 272, 272, 272, 272, 272, 272},
            {304, 304, 304, 304, 304, 304, 304, 273, 273, 273, 273, 273, 273, 273, 273, 273},
            {303, 303, 303, 303, 303, 303, 303, 272, 272, 272, 272, 272, 272, 272, 272, 272},
            {298, 298, 298, 298, 298, 298, 298, 269, 269, 269, 269, 269, 269, 269, 269, 269},
            {292, 292, 292, 292, 292, 292, 292, 264, 264, 264, 264, 264, 264, 264, 264, 264},
            {284, 284, 284, 284, 284, 284, 284, 257, 257, 257, 257, 257, 257, 257, 257, 257},
            {273, 273, 273, 273, 273, 273, 273, 249, 249, 249, 249, 249, 249, 249, 249, 249},
            {262, 262, 262, 262, 262, 262, 262, 240, 240, 240, 240, 240, 240, 240, 240, 240},
            {250, 250, 250, 250, 250, 250, 250, 230, 230, 230, 230, 230, 230, 230, 230, 230},
            {237, 237, 237, 237, 237, 237, 237, 219, 219, 219, 219, 219, 219, 219, 219, 219},
            {223, 223, 223, 223, 223, 223, 223, 209, 209, 209, 209, 209, 209, 209, 209, 209},
            {210, 210, 210, 210, 210, 210, 210, 198, 198, 198, 198, 198, 198, 198, 198, 198},
            {197, 197, 197, 197, 197, 197, 197, 188, 188, 188, 188, 188, 188, 188, 188, 188},
            {185, 185, 185, 185, 185, 185, 185, 178, 178, 178, 178, 178, 178, 178, 178, 178},
            {174, 174, 174, 174, 174, 174, 174, 169, 169, 169, 169, 169, 169, 169, 169, 169},
            {164, 164, 164, 164, 164, 164, 164, 161, 161, 161, 161, 161, 161, 161, 161, 161},
            {156, 156, 156, 156, 156, 156, 156, 155, 155, 155, 155, 155, 155, 155, 155, 155},
            {150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150}
        },
        /* texture_freq[OT_ISP_AUTO_ISO_NUM] */
        { 200, 180, 180, 170, 160, 160, 140, 140, 140, 128, 128, 100, 100, 100, 100, 100 },
        /* edge_freq[OT_ISP_AUTO_ISO_NUM] */
        { 128, 128, 128, 128, 128, 128, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 },
        /* over_shoot[OT_ISP_AUTO_ISO_NUM] */
        { 60, 	60,  60,  60,  55,  55,  50,  50,  50,  50,  50,  50,  50,  50,  50,  50 },
        /* under_shoot[OT_ISP_AUTO_ISO_NUM] */
        { 60, 	60,  60,  60,  55,  55,  50,  50,  50,  50,  50,  50,  50,  50,  50,  50 },
        /* motion_texture_strength[OT_ISP_SHARPEN_GAIN_NUM][OT_ISP_AUTO_ISO_NUM] */
        {
            {149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149},
            {154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154},
            {161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161},
            {170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170},
            {180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180},
            {190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190},
            {202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202},
            {213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213},
            {224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224},
            {235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235},
            {246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246},
            {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
            {262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262},
            {268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268},
            {272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272},
            {273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273},
            {272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272},
            {269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269},
            {264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264},
            {257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257},
            {249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249},
            {240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240},
            {230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230},
            {219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219},
            {209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209},
            {198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198},
            {188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188},
            {178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178},
            {169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169},
            {161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161},
            {155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155},
            {150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150},
        },
        /* motion_edge_strength     */
        {
            {149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149},
            {154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154},
            {161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161},
            {170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170},
            {180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180},
            {190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190},
            {202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202},
            {213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213},
            {224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224},
            {235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235},
            {246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246},
            {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255},
            {262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262},
            {268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268},
            {272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272},
            {273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273},
            {272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272},
            {269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269},
            {264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264},
            {257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257},
            {249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249},
            {240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240},
            {230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230},
            {219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219},
            {209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209},
            {198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198},
            {188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188},
            {178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178},
            {169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169},
            {161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161},
            {155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155},
            {150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150}
        },
        /* motion_texture_freq[OT_ISP_AUTO_ISO_NUM] */
        { 200, 190, 190, 170, 170, 170, 160, 140, 128, 128, 128, 100, 100, 100, 100, 100 },
        /* motion_edge_freq[OT_ISP_AUTO_ISO_NUM] */
        { 128, 100, 100, 100, 100, 100, 100, 100, 100, 100, 96, 96, 96, 96, 96, 96 },
        /* motion_over_shoot[OT_ISP_AUTO_ISO_NUM] */
        { 65, 65, 62, 64, 64, 64, 56, 52, 50, 50, 30, 10, 10, 10, 10, 10 },
        /* motion_under_shoot[OT_ISP_AUTO_ISO_NUM] */
        { 65, 65, 62, 64, 64, 64, 54, 50, 50, 30, 20, 20, 15, 15, 15, 15 },
        /* motion_shoot_sup_strength[OT_ISP_AUTO_ISO_NUM] */
        { 4, 4, 4, 4, 4, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 },
        /* shoot_sup_adj[OT_ISP_AUTO_ISO_NUM] */
        { 6, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 },
        /* detail_ctrl[OT_ISP_AUTO_ISO_NUM] */
        { 128, 128, 128, 128, 128, 128, 128, 110, 110, 100, 100, 100, 100, 100, 100, 100 },
        /* detail_ctrl_threshold[OT_ISP_AUTO_ISO_NUM] */
        { 180, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160 },
        /* edge_filt_strength[OT_ISP_AUTO_ISO_NUM] */
        { 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61},
        /* edge_filt_max_cap */
        { 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 },
        /* r_gain[OT_ISP_AUTO_ISO_NUM] */
        {31, 31, 28, 28, 28, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24 },
        /* g_gain[OT_ISP_AUTO_ISO_NUM] */
        { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 },
        /* b_gain[OT_ISP_AUTO_ISO_NUM] */
        { 31, 31, 28, 28, 28, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24 },
        /* skin_gain[OT_ISP_AUTO_ISO_NUM] */
        { 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25 },
        /* max_sharp_gain[OT_ISP_AUTO_ISO_NUM] */
        { 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40 },
    },
};

static ot_isp_awb_ccm g_awb_ccm = {
    /* the number of CCM matrixes */
    4,
    {
        {
            /* color temperature */
            6420,
            /* CCM matrix */
            { 0x01C8, 0x80A8, 0x8020, 0x8040, 0x01B5, 0x8075, 0x8009, 0x8086, 0x018F },
        },
        {
            /* color temperature */
            4850,
            /* CCM matrix */
            { 0x01BE, 0x8094, 0x802A, 0x803B, 0x01A0, 0x8065, 0x8003, 0x8084, 0x0187 },
        },
        {
            /* color temperature */
            3630,
            /* CCM matrix */
            { 0x01B3, 0x8097, 0x801C, 0x8073, 0x01BE, 0x804B, 0x8001, 0x80D0, 0x01D1 },
        },
        {
            /* color temperature */
            2525,
            /* CCM matrix */
            { 0x0217, 0x8113, 0x8004, 0x805C, 0x0190, 0x8034, 0x800A, 0x80C9, 0x01D3 },
        },
        {
            /* color temperature */
            2100,
            /* CCM matrix */
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0100 },
        },
        {
            /* color temperature */
            1600,
            /* CCM matrix */
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0100 },
        },
        {
            /* color temperature */
            1400,
            /* CCM matrix */
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0100 },
        },
    },
};

static ot_isp_awb_agc_table g_awb_agc_table = {
    /* bvalid */
    1,

    /* 1,  2,  4,  8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768 */
    /* saturation */
    { 0x80, 0x76, 0x70, 0x6C, 0x69, 0x66, 0x5A, 0x4E, 0x44, 0x40, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38 }
};

static const ot_isp_wdr_fs_attr g_cmos_wdr = {
    /* ot_isp_wdr_merge_mode */
    OT_ISP_MERGE_FUSION_MODE,

    /* ot_isp_wdr_combine_attr */
    {
        /* motion_comp */
        1,

        /* short_thr */
        4032,

        /* long_thr */
        3008,

        /* force_long */
        1,

        /* force_long_low_threshold */
        500,

        /* force_long_hig_threshold */
        700,

        /* ot_isp_fswdr_mdt_attr */
        {
            /* short_expo_chk */
            0,

            /* short_check_thd */
            8,

            /* md_ref_flicker */
            1,

            /* mdt_still_thd */
            20,

            /* mdt_full_threshold */
            254,

            /* mdt_long_blend */
            0,

            /* ot_op_mode motion_comp */
            OT_OP_MODE_AUTO,

            /* ot_isp_fswdr_manual_attr */
            {
                /* md_thr_low_gain */
                64, 64
            },

            /* ot_isp_fswdr_auto_attr */
            {
                /* md_thr_low_gain[10][16] */
                {
                    { 45, 45, 45, 64, 96, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 },
                    { 45, 45, 45, 64, 96, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 },
                    { 24, 24, 24, 45, 64,  96, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255 },
                    { 24, 24, 24, 45, 64,  96, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255 },
                    { 45, 45, 45, 45, 64, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 },
                    { 45, 45, 45, 45, 64, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 },
                    { 64, 64, 64, 64, 128, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 },
                    { 128, 128, 128, 128, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 },
                    { 128, 128, 128, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 },
                    { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }
                },

                /* md_thr_hig_gain[10][16] */
                {
                    { 64, 64, 64, 64, 96, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 },
                    { 64, 64, 64, 64, 96, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 },
                    { 45, 45, 45, 64, 96, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 },
                    { 45, 45, 45, 64, 96, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 },
                    { 64, 64, 64, 64, 96, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 },
                    { 64, 64, 64, 64, 96, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 },
                    { 128, 128, 128, 128, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 },
                    { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 },
                    { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 },
                    { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 },
                },
            },
        },
    },

    /* ot_isp_fusion_attr */
    {
        /* fusion blend en */
        1,
        /* fusion_blend_wgt */
        4,
        /* fusion_threshold */
        { 3855, 3000, 3000, 3000 },
        /* fusion_force_gray_en */
        1,
        /* fusion_force_blend_threshold */
        14,
    },

};

static const ot_isp_dehaze_attr g_cmos_dehaze = {
    /* enable */
    0,
    /* user_lut_enable */
    0,
    /* dehaze_lut */
    {
        0, 9, 13, 17, 21, 25, 29, 33, 37, 42, 46, 50, 54, 58, 62, 67, 71, 75, 79, 83, 87, 91,
        95, 99, 102, 106, 110, 114, 117, 121, 124, 128, 131, 134, 137, 141, 144, 147, 150,
        153, 156, 159, 162, 165, 168, 170, 173, 176, 178, 181, 184, 186, 189, 191, 193, 196,
        198, 200, 203, 205, 207, 209, 211, 213, 215, 217, 219, 221, 222, 224, 226, 228, 229,
        231, 232, 234, 235, 237, 238, 240, 241, 242, 243, 244, 246, 247, 248, 249, 249, 250,
        251, 252, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
        255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 253, 253, 252, 251, 251, 250, 249,
        249, 248, 247, 247, 246, 245, 244, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235,
        233, 232, 231, 230, 229, 227, 226, 225, 223, 222, 221, 219, 218, 216, 215, 213, 212,
        210, 209, 208, 206, 205, 203, 201, 200, 198, 197, 195, 193, 192, 190, 188, 187, 185,
        183, 181, 180, 178, 176, 174, 172, 170, 169, 167, 165, 163, 161, 159, 157, 155, 153,
        151, 149, 147, 145, 143, 140, 138, 136, 134, 132, 130, 128, 125, 123, 121, 119, 116,
        114, 112, 110, 107, 105, 103, 100, 98, 96, 93, 91, 89, 86, 84, 81, 79, 77, 74, 72, 69,
        67, 64, 62, 59, 57, 54, 52, 49, 47, 44, 42, 39, 37, 34, 31, 29, 26, 24, 21, 18, 16, 13, 11,
        8, 5, 3, 0
    },
    /* op_type */
    0,
    /* auto_strength */
    {
        128
    },
    /* manual_strength */
    {
        128
    },
    /* tmprflt_incr_coef */
    8,
    /* tmprflt_decr_coef */
    64,
};

static const ot_isp_dehaze_attr g_cmos_dehaze_wdr = {
    /* enable */
    1,
    /* user_lut_enable */
    1,
    /* dehaze_lut */
    {
        0, 9, 13, 17, 21, 25, 29, 33, 37, 42, 46, 50, 54, 58, 62, 67, 71, 75, 79, 83, 87, 91,
        95, 99, 102, 106, 110, 114, 117, 121, 124, 128, 131, 134, 137, 141, 144, 147, 150,
        153, 156, 159, 162, 165, 168, 170, 173, 176, 178, 181, 184, 186, 189, 191, 193, 196,
        198, 200, 203, 205, 207, 209, 211, 213, 215, 217, 219, 221, 222, 224, 226, 228, 229,
        231, 232, 234, 235, 237, 238, 240, 241, 242, 243, 244, 246, 247, 248, 249, 249, 250,
        251, 252, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
        255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 253, 253, 252, 251, 251, 250, 249,
        249, 248, 247, 247, 246, 245, 244, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235,
        233, 232, 231, 230, 229, 227, 226, 225, 223, 222, 221, 219, 218, 216, 215, 213, 212,
        210, 209, 208, 206, 205, 203, 201, 200, 198, 197, 195, 193, 192, 190, 188, 187, 185,
        183, 181, 180, 178, 176, 174, 172, 170, 169, 167, 165, 163, 161, 159, 157, 155, 153,
        151, 149, 147, 145, 143, 140, 138, 136, 134, 132, 130, 128, 125, 123, 121, 119, 116,
        114, 112, 110, 107, 105, 103, 100, 98, 96, 93, 91, 89, 86, 84, 81, 79, 77, 74, 72, 69,
        67, 64, 62, 59, 57, 54, 52, 49, 47, 44, 42, 39, 37, 34, 31, 29, 26, 24, 21, 18, 16, 13, 11,
        8, 5, 3, 0
    },
    /* op_type */
    0,
    /* auto_strength */
    {
        100
    },
    /* manual_strength */
    {
        128
    },
    /* tmprflt_incr_coef */
    8,
    /* tmprflt_decr_coef */
    64,
};

static const ot_isp_drc_attr g_cmos_drc = {
    /* enable */
    0,
    /* curve_select */
    OT_ISP_DRC_CURVE_ASYMMETRY,
    /* purple_reduction_strength */
    35,
    /* bright_gain_limit */
    10,
    /* bright_gain_limit_step */
    8,
    /* dark_gain_limit_luma */
    0,
    /* dark_gain_limit_chroma */
    0,
    /* contrast_ctrl */
    8,
    /* rim_reduction_strength */
    32,
    /* rim_reduction_threshold */
    30,
    /* color_correction_lut[OT_ISP_DRC_CC_NODE_NUM] */
    {1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
     1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024},
    /* tone_mapping_value[OT_ISP_DRC_TM_NODE_NUM] */
    {8,     8,     16,    24,    31,    39,    48,    56,    65,    75,    85,    95,    106,   118,   130,   143,
     156,   170,   185,   201,   218,   235,   254,   274,   294,   316,   339,   364,   390,   417,   446,   477,
     509,   543,   579,   617,   658,   701,   746,   794,   844,   898,   955,   1015,  1078,  1145,  1216,  1291,
     1370,  1454,  1543,  1637,  1736,  1841,  1952,  2069,  2194,  2325,  2465,  2612,  2767,  2932,  3106,  3290,
     3485,  3691,  3909,  4140,  4384,  4641,  4914,  5202,  5507,  5830,  6171,  6531,  6913,  7316,  7742,  8193,
     8669,  9173,  9705,  10268, 10863, 11492, 12145, 12808, 13483, 14171, 14872, 15587, 16319, 17069, 17840, 18635,
     19458, 19881, 20313, 20754, 21204, 21661, 22122, 22586, 23053, 23525, 24000, 24480, 24965, 25455, 25950, 26451,
     26959, 27473, 27995, 28524, 29062, 29609, 30165, 30732, 31309, 31899, 32501, 33116, 33746, 34391, 35043, 35706,
     36381, 37066, 37763, 38472, 39192, 39925, 40671, 41429, 42201, 42591, 42986, 43383, 43784, 44189, 44597, 45008,
     45424, 45842, 46265, 46691, 47121, 47555, 47993, 48434, 48880, 49329, 49783, 50241, 50703, 51169, 51639, 52113,
     52592, 53075, 53564, 54056, 54552, 55054, 55560, 56071, 56586, 56846, 57107, 57369, 57632, 57896, 58162, 58429,
     58697, 58967, 59238, 59510, 59783, 60057, 60333, 60611, 60889, 61169, 61451, 61733, 62017, 62303, 62589, 62877,
     63167, 63458, 63750, 64044, 64340, 64636, 64934, 65234},
    /* spatial_filter_coef */
    1,
    /* range_filter_coef */
    2,
    /* detail_adjust_coef */
    8,
    /* local_mixing_bright[OT_ISP_DRC_LMIX_NODE_NUM] */
    {15, 17, 18, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 36, 37, 39, 40, 42,
     43, 45, 46, 48, 49, 51, 53, 54, 56, 57, 59, 61, 62, 63, 64},
    /* local_mixing_dark[OT_ISP_DRC_LMIX_NODE_NUM] */
    {15, 17, 18, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 36, 37, 39, 40, 42,
     43, 45, 46, 48, 49, 51, 53, 54, 56, 57, 59, 61, 62, 63, 64},
    /* high_saturation_color_ctrl */
    15,
    /* global_color_ctrl */
    0,
    /* shoot_reduction_en */
    1,
    /* op_type */
    OT_OP_MODE_AUTO,
    /* manual_attr */
    {
        /* manual_strength */
        1023,
    },
    /* auto_attr */
    {
        /* auto_strength */
        512,
        /* auto_strength_max */
        1023,
        /* auto_strength_min */
        512,
    },
    /* asymmetry_curve */
    {
        /* asymmetry */
        6,
        /* second_pole */
        200,
        /* stretch */
        40,
        /* compress */
        170
    }
};

static const ot_isp_drc_attr g_cmos_drc_wdr = {
    /* enable */
    1,
    /* curve_select */
    OT_ISP_DRC_CURVE_ASYMMETRY,
    /* purple_reduction_strength */
    35,
    /* bright_gain_limit */
    10,
    /* bright_gain_limit_step */
    8,
    /* dark_gain_limit_luma */
    0,
    /* dark_gain_limit_chroma */
    0,
    /* contrast_ctrl */
    8,
    /* rim_reduction_strength */
    32,
    /* rim_reduction_threshold */
    30,
    /* color_correction_lut[OT_ISP_DRC_CC_NODE_NUM] */
    {1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
     1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024},
    /* tone_mapping_value[OT_ISP_DRC_TM_NODE_NUM] */
    {8,     8,     16,    24,    31,    39,    48,    56,    65,    75,    85,    95,    106,   118,   130,   143,
     156,   170,   185,   201,   218,   235,   254,   274,   294,   316,   339,   364,   390,   417,   446,   477,
     509,   543,   579,   617,   658,   701,   746,   794,   844,   898,   955,   1015,  1078,  1145,  1216,  1291,
     1370,  1454,  1543,  1637,  1736,  1841,  1952,  2069,  2194,  2325,  2465,  2612,  2767,  2932,  3106,  3290,
     3485,  3691,  3909,  4140,  4384,  4641,  4914,  5202,  5507,  5830,  6171,  6531,  6913,  7316,  7742,  8193,
     8669,  9173,  9705,  10268, 10863, 11492, 12145, 12808, 13483, 14171, 14872, 15587, 16319, 17069, 17840, 18635,
     19458, 19881, 20313, 20754, 21204, 21661, 22122, 22586, 23053, 23525, 24000, 24480, 24965, 25455, 25950, 26451,
     26959, 27473, 27995, 28524, 29062, 29609, 30165, 30732, 31309, 31899, 32501, 33116, 33746, 34391, 35043, 35706,
     36381, 37066, 37763, 38472, 39192, 39925, 40671, 41429, 42201, 42591, 42986, 43383, 43784, 44189, 44597, 45008,
     45424, 45842, 46265, 46691, 47121, 47555, 47993, 48434, 48880, 49329, 49783, 50241, 50703, 51169, 51639, 52113,
     52592, 53075, 53564, 54056, 54552, 55054, 55560, 56071, 56586, 56846, 57107, 57369, 57632, 57896, 58162, 58429,
     58697, 58967, 59238, 59510, 59783, 60057, 60333, 60611, 60889, 61169, 61451, 61733, 62017, 62303, 62589, 62877,
     63167, 63458, 63750, 64044, 64340, 64636, 64934, 65234},
    /* spatial_filter_coef */
    1,
    /* range_filter_coef */
    2,
    /* detail_adjust_coef */
    8,
    /* local_mixing_bright[OT_ISP_DRC_LMIX_NODE_NUM] */
    {15, 17, 18, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 36, 37, 39, 40, 42,
     43, 45, 46, 48, 49, 51, 53, 54, 56, 57, 59, 61, 62, 63, 64},
    /* local_mixing_dark[OT_ISP_DRC_LMIX_NODE_NUM] */
    {15, 17, 18, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 36, 37, 39, 40, 42,
     43, 45, 46, 48, 49, 51, 53, 54, 56, 57, 59, 61, 62, 63, 64},
    /* high_saturation_color_ctrl */
    15,
    /* global_color_ctrl */
    0,
    /* shoot_reduction_en */
    1,
    /* op_type */
    OT_OP_MODE_AUTO,
    /* manual_attr */
    {
        /* manual_strength */
        1023,
    },
    /* auto_attr */
    {
        /* auto_strength */
        512,
        /* auto_strength_max */
        1023,
        /* auto_strength_min */
        512,
    },
    /* asymmetry_curve */
    {
        /* asymmetry */
        6,
        /* second_pole */
        200,
        /* stretch */
        40,
        /* compress */
        170
    }
};

static const ot_isp_cmos_lsc g_cmos_lsc = {
    /* cmos_lsc_attr */
    {
        /* en */
        1,
        /* mesh_strength */
        4096,
        /* blend_ratio */
        256,
    },
    /* cmos_lsc_lut */
    {
        /* mesh_scale */
        5,
        /* x_grid_width */
        {40, 40, 40, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 41, 41},
        /* y_grid_width */
        {30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31},
        /* lsc_gain_lut */
        {
            {
                /* r_gain: */
                {
                214, 176, 143, 116, 91, 74, 60, 50, 42, 38, 33, 30, 27, 26, 26, 25, 23, 26, 24, 27, 28, 30, 35, 37, 44, 51, 59, 72, 88, 108, 134, 167, 198,
                202, 166, 133, 105, 85, 69, 55, 48, 41, 35, 32, 27, 26, 25, 25, 23, 23, 24, 24, 24, 27, 27, 31, 35, 39, 48, 55, 65, 82, 100, 126, 159, 191,
                192, 157, 125, 98, 77, 61, 50, 44, 37, 32, 28, 27, 24, 22, 22, 21, 21, 21, 22, 23, 26, 27, 29, 32, 37, 42, 50, 60, 73, 92, 116, 147, 179,
                177, 145, 114, 90, 70, 56, 47, 40, 32, 29, 27, 24, 22, 21, 20, 19, 18, 20, 20, 22, 23, 24, 27, 30, 32, 40, 47, 55, 68, 87, 110, 141, 169,
                168, 137, 109, 83, 66, 53, 44, 37, 31, 27, 24, 22, 21, 19, 18, 17, 17, 17, 18, 19, 20, 23, 26, 29, 30, 36, 44, 53, 63, 82, 101, 129, 159,
                160, 129, 100, 76, 61, 48, 41, 33, 29, 26, 22, 22, 19, 17, 16, 14, 14, 15, 16, 18, 18, 22, 23, 26, 30, 35, 41, 50, 60, 76, 96, 124, 151,
                153, 124, 96, 73, 57, 47, 40, 32, 27, 23, 21, 19, 17, 16, 14, 12, 13, 13, 13, 16, 17, 20, 23, 26, 29, 34, 39, 47, 57, 71, 91, 117, 146,
                146, 117, 90, 67, 53, 45, 37, 29, 27, 23, 20, 18, 15, 14, 13, 12, 12, 12, 11, 14, 17, 19, 21, 25, 27, 31, 38, 45, 54, 69, 86, 111, 139,
                143, 111, 86, 65, 52, 43, 35, 29, 24, 21, 18, 16, 13, 12, 11, 10, 10, 9, 11, 12, 14, 17, 19, 23, 26, 28, 35, 44, 53, 64, 82, 107, 134,
                134, 107, 81, 62, 51, 41, 32, 28, 23, 20, 17, 16, 12, 11, 9, 8, 7, 7, 9, 11, 13, 15, 19, 22, 25, 29, 33, 42, 50, 63, 80, 103, 128,
                132, 105, 81, 60, 48, 38, 33, 25, 23, 20, 16, 14, 11, 10, 8, 6, 5, 6, 7, 9, 12, 16, 18, 22, 24, 28, 33, 40, 51, 59, 75, 98, 126,
                129, 103, 76, 58, 48, 38, 31, 26, 23, 19, 17, 13, 11, 7, 6, 4, 4, 5, 6, 6, 10, 12, 17, 19, 24, 27, 32, 39, 47, 61, 74, 97, 123,
                127, 99, 75, 57, 47, 38, 30, 26, 22, 18, 16, 13, 11, 6, 6, 3, 2, 2, 4, 6, 9, 13, 14, 19, 24, 27, 32, 38, 48, 58, 73, 95, 118,
                126, 98, 75, 56, 45, 37, 30, 25, 20, 18, 15, 13, 10, 6, 4, 3, 1, 1, 1, 6, 8, 12, 16, 19, 23, 27, 32, 37, 47, 57, 73, 94, 118,
                124, 98, 73, 56, 47, 37, 30, 24, 21, 18, 15, 12, 9, 8, 3, 2, 1, 0, 2, 5, 8, 12, 15, 19, 22, 27, 30, 37, 45, 56, 70, 92, 116,
                125, 97, 72, 57, 46, 37, 29, 26, 22, 18, 16, 12, 8, 7, 4, 1, 0, 0, 1, 3, 8, 12, 14, 19, 22, 26, 30, 38, 47, 57, 71, 91, 115,
                125, 98, 73, 57, 46, 38, 31, 24, 22, 19, 14, 13, 11, 8, 5, 2, 0, 0, 1, 5, 8, 12, 16, 19, 22, 26, 32, 38, 46, 57, 70, 93, 118,
                127, 101, 75, 58, 47, 39, 31, 26, 23, 19, 16, 13, 10, 8, 5, 3, 1, 1, 3, 6, 8, 13, 17, 19, 23, 26, 32, 37, 47, 59, 71, 95, 118,
                128, 103, 76, 60, 49, 39, 33, 27, 24, 20, 16, 13, 11, 8, 6, 4, 2, 3, 3, 6, 9, 13, 17, 21, 24, 29, 33, 40, 49, 59, 73, 94, 120,
                133, 104, 79, 60, 51, 39, 33, 27, 25, 20, 17, 13, 13, 10, 7, 6, 5, 6, 6, 7, 11, 14, 18, 21, 24, 28, 34, 40, 49, 60, 76, 97, 120,
                138, 107, 83, 63, 51, 42, 35, 30, 24, 21, 19, 15, 12, 11, 9, 7, 6, 6, 7, 10, 12, 16, 19, 22, 24, 28, 33, 41, 50, 62, 76, 99, 126,
                140, 112, 86, 65, 53, 44, 36, 32, 26, 22, 18, 17, 15, 12, 10, 9, 8, 9, 9, 11, 13, 17, 21, 22, 26, 31, 37, 44, 53, 64, 80, 104, 130,
                147, 118, 90, 69, 56, 47, 38, 32, 29, 24, 20, 18, 16, 13, 13, 11, 11, 11, 11, 13, 16, 17, 22, 24, 27, 33, 38, 46, 56, 67, 85, 107, 135,
                151, 125, 95, 75, 60, 49, 41, 34, 28, 25, 22, 21, 16, 15, 14, 14, 13, 13, 13, 16, 17, 21, 23, 26, 30, 33, 39, 50, 59, 70, 89, 114, 142,
                160, 130, 102, 79, 64, 50, 45, 36, 30, 25, 24, 21, 20, 17, 16, 16, 15, 14, 16, 17, 19, 23, 23, 28, 30, 35, 42, 51, 61, 75, 96, 119, 148,
                169, 137, 108, 83, 67, 56, 47, 40, 32, 28, 26, 23, 21, 19, 19, 19, 16, 16, 19, 19, 21, 23, 26, 29, 33, 39, 45, 53, 64, 78, 101, 126, 156,
                178, 146, 116, 89, 71, 60, 51, 41, 35, 31, 27, 24, 22, 22, 21, 21, 18, 19, 19, 22, 22, 27, 29, 30, 35, 42, 50, 58, 69, 84, 107, 134, 164,
                189, 156, 122, 98, 78, 63, 56, 46, 40, 33, 29, 27, 25, 24, 22, 22, 22, 22, 22, 24, 25, 27, 29, 34, 38, 44, 55, 62, 75, 91, 113, 142, 171,
                202, 166, 133, 105, 83, 69, 59, 50, 41, 37, 32, 29, 26, 25, 24, 23, 24, 24, 24, 25, 28, 31, 32, 37, 43, 50, 57, 68, 80, 97, 122, 152, 184,
                215, 176, 142, 112, 91, 76, 63, 53, 49, 41, 36, 32, 29, 27, 27, 26, 25, 27, 27, 27, 31, 32, 35, 41, 45, 55, 63, 72, 86, 108, 132, 162, 196,
                227, 190, 154, 125, 100, 82, 68, 58, 52, 46, 39, 35, 31, 31, 29, 29, 29, 28, 29, 30, 33, 35, 40, 45, 51, 58, 68, 79, 96, 117, 144, 175, 209,
                242, 204, 167, 135, 111, 90, 75, 64, 56, 50, 46, 38, 35, 32, 32, 32, 30, 29, 32, 33, 35, 40, 44, 50, 57, 64, 73, 88, 105, 128, 156, 188, 224,
                257, 216, 175, 146, 118, 98, 81, 68, 58, 53, 49, 43, 38, 35, 35, 32, 33, 33, 35, 37, 41, 43, 48, 54, 63, 68, 78, 94, 113, 137, 166, 198, 241
            },
            {
                204, 168, 133, 106, 86, 66, 53, 43, 39, 32, 27, 26, 24, 23, 23, 22, 22, 20, 22, 21, 22, 24, 26, 31, 33, 40, 47, 56, 71, 91, 118, 146, 179,
                195, 158, 125, 98, 77, 60, 48, 41, 36, 31, 27, 24, 24, 22, 21, 20, 21, 20, 20, 20, 21, 21, 24, 28, 33, 37, 43, 51, 66, 85, 109, 138, 168,
                184, 147, 116, 92, 70, 55, 44, 38, 32, 28, 26, 23, 22, 21, 20, 20, 18, 17, 18, 20, 20, 21, 23, 25, 30, 33, 39, 48, 60, 76, 99, 129, 158,
                170, 135, 108, 85, 63, 50, 43, 35, 29, 25, 23, 21, 21, 19, 17, 18, 17, 17, 17, 18, 19, 21, 22, 24, 26, 31, 38, 44, 55, 70, 92, 119, 148,
                160, 129, 101, 77, 60, 47, 39, 33, 27, 24, 23, 21, 19, 17, 17, 15, 16, 15, 16, 18, 19, 18, 21, 23, 23, 29, 34, 42, 51, 65, 86, 112, 139,
                155, 121, 94, 73, 54, 43, 38, 30, 26, 22, 21, 19, 18, 17, 14, 14, 13, 14, 14, 15, 17, 18, 20, 20, 22, 25, 32, 41, 47, 60, 80, 105, 130,
                146, 115, 88, 67, 51, 42, 35, 28, 24, 21, 20, 17, 17, 15, 14, 12, 12, 12, 13, 14, 14, 17, 18, 20, 22, 25, 29, 37, 44, 56, 75, 99, 124,
                140, 110, 82, 63, 48, 40, 33, 27, 23, 20, 19, 17, 14, 14, 12, 12, 12, 10, 12, 12, 13, 15, 16, 18, 20, 24, 28, 35, 43, 53, 70, 93, 120,
                133, 105, 78, 61, 48, 38, 32, 26, 22, 20, 18, 15, 13, 13, 10, 10, 9, 10, 10, 10, 12, 14, 16, 18, 20, 24, 26, 33, 42, 49, 67, 88, 113,
                128, 101, 76, 57, 45, 37, 31, 24, 21, 19, 16, 14, 13, 11, 10, 8, 6, 7, 8, 10, 12, 14, 15, 17, 21, 22, 24, 33, 39, 48, 64, 85, 109,
                122, 98, 73, 54, 44, 36, 29, 24, 21, 18, 17, 13, 12, 10, 7, 6, 6, 6, 6, 8, 10, 13, 15, 17, 20, 21, 25, 30, 39, 45, 60, 82, 106,
                121, 96, 70, 53, 43, 35, 27, 23, 19, 18, 17, 13, 11, 10, 8, 4, 4, 4, 6, 5, 8, 12, 14, 15, 19, 21, 24, 30, 36, 46, 57, 79, 102,
                119, 93, 68, 52, 43, 34, 28, 24, 20, 18, 15, 13, 9, 8, 6, 4, 2, 4, 4, 6, 9, 11, 13, 16, 18, 21, 24, 29, 37, 45, 57, 76, 101,
                118, 90, 66, 52, 43, 34, 28, 23, 21, 18, 14, 12, 10, 7, 5, 2, 0, 2, 2, 6, 8, 12, 14, 15, 17, 21, 23, 28, 37, 43, 56, 76, 97,
                116, 89, 66, 50, 42, 33, 28, 23, 20, 17, 14, 12, 10, 7, 3, 1, 0, 0, 1, 5, 8, 10, 13, 16, 18, 20, 23, 29, 35, 43, 56, 75, 97,
                118, 91, 66, 51, 42, 34, 27, 23, 20, 17, 15, 13, 10, 7, 5, 2, 0, 1, 1, 4, 7, 11, 13, 16, 18, 21, 24, 27, 37, 42, 55, 74, 96,
                118, 91, 68, 51, 41, 33, 28, 23, 20, 18, 14, 12, 9, 7, 5, 2, 1, 0, 2, 4, 7, 10, 12, 16, 17, 20, 22, 28, 37, 43, 54, 76, 98,
                118, 93, 67, 52, 42, 34, 27, 24, 21, 18, 14, 13, 11, 8, 6, 3, 2, 2, 4, 5, 8, 11, 13, 15, 18, 20, 24, 28, 36, 44, 56, 76, 98,
                122, 95, 71, 54, 43, 35, 28, 24, 22, 18, 16, 14, 10, 9, 6, 5, 3, 3, 3, 6, 9, 11, 14, 16, 19, 21, 24, 30, 38, 46, 56, 77, 99,
                124, 98, 72, 55, 44, 37, 30, 25, 22, 20, 16, 14, 12, 9, 7, 5, 5, 5, 6, 7, 10, 13, 15, 16, 19, 21, 25, 30, 38, 47, 60, 78, 104,
                126, 99, 75, 57, 47, 38, 30, 25, 22, 20, 18, 14, 12, 10, 8, 6, 6, 6, 8, 8, 10, 12, 16, 17, 19, 22, 26, 33, 39, 47, 62, 81, 105,
                132, 104, 77, 60, 48, 41, 33, 27, 25, 21, 18, 17, 14, 12, 10, 9, 8, 8, 8, 10, 12, 14, 15, 18, 21, 24, 27, 34, 41, 51, 64, 86, 109,
                136, 108, 83, 62, 51, 41, 35, 28, 24, 22, 19, 17, 14, 14, 13, 11, 10, 10, 10, 12, 13, 16, 18, 20, 21, 24, 28, 34, 43, 52, 68, 91, 113,
                143, 114, 86, 66, 53, 44, 37, 30, 25, 23, 21, 18, 15, 15, 14, 13, 12, 11, 13, 14, 16, 16, 18, 21, 23, 26, 31, 37, 47, 56, 70, 96, 121,
                150, 120, 93, 70, 56, 47, 39, 32, 28, 24, 20, 20, 17, 16, 15, 13, 13, 13, 13, 15, 16, 18, 20, 22, 24, 27, 34, 40, 49, 59, 77, 101, 127,
                156, 127, 99, 77, 60, 50, 42, 36, 29, 25, 22, 22, 19, 18, 16, 17, 16, 15, 16, 17, 17, 20, 22, 23, 26, 29, 37, 43, 51, 63, 84, 107, 133,
                167, 135, 105, 82, 65, 52, 46, 39, 32, 28, 24, 22, 21, 20, 20, 18, 17, 17, 18, 18, 21, 21, 22, 24, 27, 32, 39, 46, 55, 67, 89, 114, 143,
                178, 144, 114, 89, 69, 56, 48, 41, 34, 29, 26, 24, 22, 21, 20, 20, 18, 19, 19, 21, 21, 23, 23, 26, 31, 36, 42, 50, 58, 74, 95, 122, 150,
                189, 155, 123, 97, 77, 61, 51, 44, 38, 32, 28, 25, 24, 23, 22, 22, 22, 21, 21, 21, 23, 24, 26, 30, 34, 41, 47, 54, 66, 82, 103, 132, 164,
                199, 165, 133, 106, 82, 67, 56, 47, 42, 35, 31, 28, 25, 24, 24, 23, 22, 21, 23, 23, 25, 25, 30, 33, 38, 45, 51, 59, 72, 91, 113, 144, 175,
                216, 178, 144, 116, 92, 74, 60, 51, 47, 41, 34, 31, 29, 27, 26, 24, 25, 24, 24, 25, 28, 29, 33, 37, 42, 48, 55, 66, 80, 98, 125, 153, 183,
                230, 191, 156, 125, 102, 82, 67, 57, 51, 43, 40, 34, 31, 30, 28, 26, 26, 26, 27, 29, 30, 33, 38, 43, 47, 54, 61, 73, 92, 111, 137, 168, 201,
                243, 204, 166, 133, 108, 90, 72, 61, 54, 49, 44, 37, 35, 33, 29, 28, 27, 28, 30, 31, 33, 37, 40, 44, 51, 57, 66, 81, 99, 121, 146, 178, 214
            },
            {
                205, 170, 137, 109, 86, 67, 55, 44, 38, 34, 29, 27, 24, 24, 22, 21, 23, 22, 22, 22, 23, 26, 26, 30, 35, 41, 49, 59, 75, 94, 118, 151, 178,
                195, 159, 128, 101, 79, 62, 51, 42, 36, 31, 27, 25, 23, 23, 21, 21, 20, 20, 21, 21, 24, 23, 25, 29, 34, 39, 44, 54, 68, 87, 113, 141, 171,
                186, 149, 119, 93, 72, 56, 46, 39, 34, 29, 25, 23, 22, 22, 21, 19, 19, 18, 19, 21, 21, 22, 23, 27, 30, 36, 41, 49, 63, 79, 103, 129, 161,
                173, 139, 109, 84, 65, 51, 43, 36, 30, 26, 23, 22, 20, 20, 19, 18, 17, 17, 19, 18, 20, 20, 23, 24, 26, 32, 40, 47, 56, 73, 95, 122, 152,
                164, 132, 102, 79, 61, 49, 41, 34, 28, 25, 23, 22, 19, 17, 16, 17, 15, 15, 17, 18, 19, 20, 21, 23, 26, 30, 35, 43, 53, 68, 87, 113, 142,
                154, 124, 96, 73, 57, 46, 37, 31, 27, 24, 20, 19, 19, 17, 15, 15, 14, 14, 14, 15, 17, 19, 21, 22, 25, 28, 34, 41, 49, 63, 82, 108, 132,
                147, 117, 91, 68, 53, 45, 36, 30, 26, 23, 20, 19, 17, 15, 14, 13, 13, 13, 13, 15, 16, 18, 19, 21, 23, 26, 31, 37, 47, 59, 77, 101, 127,
                142, 112, 86, 65, 51, 42, 35, 27, 24, 21, 19, 17, 15, 14, 13, 12, 10, 12, 12, 13, 14, 17, 18, 20, 23, 25, 30, 37, 43, 56, 72, 94, 122,
                137, 106, 81, 61, 48, 40, 32, 27, 24, 21, 18, 15, 14, 13, 10, 10, 9, 10, 11, 10, 12, 15, 17, 19, 22, 24, 28, 35, 43, 53, 68, 92, 115,
                131, 102, 77, 59, 47, 39, 31, 26, 24, 19, 18, 15, 13, 12, 10, 9, 6, 7, 9, 9, 13, 14, 16, 19, 20, 23, 27, 34, 42, 50, 66, 88, 110,
                128, 99, 76, 56, 45, 38, 30, 25, 21, 18, 17, 13, 12, 10, 9, 8, 5, 6, 7, 9, 11, 13, 15, 18, 19, 23, 26, 31, 40, 48, 64, 84, 107,
                124, 96, 74, 54, 45, 36, 30, 24, 21, 18, 16, 15, 10, 9, 7, 5, 3, 5, 6, 8, 9, 13, 14, 17, 19, 23, 26, 31, 39, 48, 61, 81, 105,
                122, 93, 71, 54, 44, 36, 29, 25, 20, 17, 15, 13, 11, 8, 6, 3, 1, 3, 5, 7, 7, 11, 13, 16, 18, 21, 26, 31, 38, 47, 60, 80, 102,
                120, 92, 69, 54, 43, 35, 28, 22, 21, 18, 15, 13, 11, 7, 5, 2, 0, 1, 2, 5, 9, 11, 13, 16, 19, 23, 25, 29, 38, 46, 58, 78, 99,
                120, 91, 68, 52, 43, 33, 27, 25, 20, 19, 16, 13, 10, 6, 4, 1, 1, 0, 2, 5, 7, 9, 12, 16, 18, 21, 24, 30, 36, 44, 57, 77, 98,
                119, 92, 67, 52, 42, 35, 28, 24, 21, 17, 14, 13, 11, 7, 5, 2, 0, 0, 2, 3, 6, 10, 13, 15, 19, 22, 23, 29, 37, 46, 58, 77, 98,
                121, 93, 69, 53, 43, 36, 26, 24, 21, 16, 16, 13, 10, 7, 4, 2, 0, 1, 3, 4, 7, 10, 12, 15, 18, 22, 24, 29, 38, 45, 58, 77, 98,
                121, 94, 70, 53, 44, 35, 27, 25, 21, 19, 15, 13, 11, 8, 5, 3, 1, 2, 3, 5, 7, 12, 14, 16, 19, 22, 24, 29, 39, 46, 59, 76, 102,
                125, 96, 72, 55, 44, 36, 30, 25, 23, 19, 15, 13, 11, 8, 6, 4, 2, 3, 3, 6, 9, 11, 14, 16, 18, 22, 25, 30, 39, 47, 59, 79, 102,
                125, 98, 74, 56, 46, 36, 31, 26, 23, 20, 17, 13, 13, 9, 7, 5, 3, 3, 5, 6, 9, 11, 15, 16, 18, 22, 25, 33, 39, 48, 61, 82, 106,
                129, 100, 77, 58, 47, 38, 31, 26, 23, 20, 18, 14, 12, 10, 9, 6, 6, 7, 6, 8, 11, 13, 14, 17, 19, 22, 26, 32, 40, 49, 62, 84, 108,
                133, 105, 81, 60, 49, 40, 34, 27, 25, 21, 18, 16, 13, 11, 9, 7, 7, 7, 8, 9, 12, 14, 15, 18, 21, 23, 28, 34, 43, 52, 65, 87, 112,
                138, 111, 82, 63, 51, 42, 34, 28, 24, 22, 19, 17, 15, 13, 10, 10, 9, 10, 10, 11, 13, 16, 17, 20, 21, 24, 29, 35, 43, 53, 69, 91, 117,
                146, 114, 88, 68, 52, 45, 36, 30, 26, 22, 19, 18, 16, 13, 11, 12, 11, 10, 11, 13, 14, 17, 18, 19, 22, 26, 31, 39, 45, 57, 73, 97, 121,
                150, 121, 94, 71, 57, 47, 39, 32, 26, 24, 21, 17, 16, 15, 15, 13, 13, 13, 13, 14, 16, 18, 19, 22, 23, 27, 34, 40, 50, 59, 79, 103, 126,
                158, 129, 101, 76, 60, 50, 42, 35, 28, 25, 23, 21, 18, 18, 16, 16, 14, 13, 15, 16, 16, 19, 20, 22, 26, 30, 35, 43, 52, 63, 84, 108, 133,
                170, 135, 108, 83, 64, 53, 45, 37, 31, 28, 23, 22, 21, 18, 17, 17, 16, 16, 17, 18, 18, 21, 22, 24, 27, 33, 39, 46, 54, 69, 89, 115, 143,
                178, 146, 114, 89, 70, 57, 47, 40, 34, 29, 25, 23, 21, 19, 19, 18, 17, 17, 18, 18, 21, 22, 22, 26, 30, 36, 44, 49, 59, 76, 95, 123, 151,
                189, 157, 124, 97, 76, 61, 51, 44, 37, 31, 29, 24, 22, 21, 21, 19, 19, 19, 19, 21, 21, 23, 25, 28, 33, 40, 46, 54, 65, 82, 105, 132, 164,
                201, 167, 133, 106, 82, 67, 56, 47, 41, 35, 30, 27, 24, 23, 21, 22, 22, 21, 22, 22, 23, 26, 28, 31, 37, 44, 51, 58, 71, 90, 115, 144, 176,
                215, 179, 144, 115, 90, 73, 60, 53, 45, 40, 34, 30, 26, 25, 23, 23, 22, 23, 23, 23, 25, 29, 30, 36, 42, 48, 55, 65, 81, 100, 127, 154, 189,
                233, 192, 156, 126, 101, 82, 67, 56, 48, 44, 39, 33, 30, 27, 27, 24, 24, 25, 26, 26, 28, 32, 35, 40, 46, 52, 61, 72, 89, 111, 137, 169, 201,
                244, 203, 165, 135, 110, 89, 71, 61, 52, 45, 41, 37, 33, 31, 30, 27, 26, 27, 28, 28, 31, 34, 39, 47, 48, 55, 63, 80, 98, 121, 146, 178, 212
            },
            {
                198, 160, 130, 105, 80, 65, 50, 41, 38, 33, 28, 25, 24, 22, 24, 24, 21, 22, 21, 25, 23, 24, 24, 27, 34, 38, 43, 52, 66, 89, 112, 140, 173,
                190, 156, 123, 96, 76, 59, 48, 38, 36, 30, 26, 23, 22, 23, 23, 21, 21, 22, 22, 24, 21, 24, 25, 26, 29, 36, 41, 47, 63, 79, 105, 133, 162,
                177, 144, 113, 89, 66, 53, 43, 36, 33, 27, 26, 24, 22, 20, 21, 22, 21, 18, 21, 20, 21, 21, 23, 25, 26, 33, 38, 47, 56, 73, 95, 123, 152,
                164, 132, 105, 82, 61, 48, 39, 34, 27, 25, 24, 22, 19, 21, 20, 18, 16, 19, 17, 21, 21, 22, 23, 24, 25, 33, 36, 43, 50, 66, 90, 113, 140,
                157, 125, 100, 75, 54, 46, 37, 31, 27, 25, 24, 21, 21, 19, 17, 18, 15, 17, 19, 19, 20, 21, 23, 24, 24, 26, 34, 38, 48, 61, 79, 106, 131,
                150, 120, 93, 71, 53, 40, 36, 27, 25, 23, 21, 18, 19, 16, 15, 15, 16, 14, 15, 16, 20, 21, 22, 22, 22, 25, 31, 37, 46, 54, 76, 97, 128,
                141, 112, 86, 65, 49, 38, 33, 27, 23, 22, 22, 19, 15, 15, 14, 15, 12, 13, 12, 15, 16, 18, 19, 21, 21, 24, 28, 34, 39, 51, 70, 93, 119,
                133, 103, 79, 59, 48, 35, 29, 25, 22, 22, 16, 15, 14, 13, 12, 14, 13, 12, 13, 14, 15, 15, 17, 20, 21, 24, 25, 34, 38, 48, 64, 91, 112,
                133, 98, 74, 58, 43, 34, 30, 26, 21, 21, 18, 15, 14, 12, 11, 12, 11, 12, 12, 12, 14, 15, 15, 19, 20, 22, 25, 34, 38, 45, 62, 85, 107,
                128, 97, 70, 53, 43, 35, 27, 23, 21, 21, 17, 14, 13, 12, 11, 12, 9, 10, 12, 12, 13, 15, 15, 21, 21, 21, 24, 27, 36, 41, 59, 79, 102,
                115, 93, 67, 51, 41, 34, 26, 22, 21, 17, 16, 14, 12, 12, 10, 9, 7, 9, 9, 11, 12, 13, 14, 17, 20, 22, 24, 28, 34, 40, 54, 76, 103,
                119, 91, 65, 49, 39, 34, 27, 22, 18, 16, 15, 13, 11, 10, 9, 4, 6, 4, 8, 9, 13, 12, 12, 15, 21, 23, 23, 26, 34, 40, 53, 75, 95,
                117, 90, 65, 48, 38, 31, 24, 21, 20, 16, 14, 13, 10, 10, 8, 6, 4, 2, 7, 7, 10, 11, 13, 15, 19, 21, 23, 26, 34, 39, 51, 74, 93,
                112, 88, 63, 48, 38, 30, 25, 22, 20, 15, 14, 14, 11, 7, 4, 3, 2, 2, 2, 4, 11, 10, 12, 14, 15, 21, 23, 24, 34, 38, 49, 70, 90,
                112, 86, 61, 43, 38, 27, 23, 22, 16, 15, 14, 12, 10, 7, 3, 3, 0, 1, 3, 4, 10, 11, 12, 14, 15, 18, 22, 26, 31, 38, 49, 66, 91,
                111, 83, 61, 46, 36, 27, 23, 21, 21, 15, 13, 11, 11, 9, 4, 2, 2, 0, 2, 5, 9, 11, 12, 14, 15, 18, 21, 24, 32, 38, 48, 65, 91,
                112, 84, 62, 46, 36, 29, 24, 21, 16, 15, 12, 10, 9, 8, 3, 2, 0, 0, 2, 4, 9, 11, 12, 15, 15, 20, 21, 25, 33, 38, 48, 67, 89,
                113, 85, 62, 45, 37, 28, 23, 21, 19, 16, 12, 12, 11, 6, 3, 3, 2, 2, 2, 4, 9, 10, 12, 12, 15, 16, 21, 24, 33, 38, 49, 66, 93,
                112, 89, 64, 48, 36, 28, 24, 21, 17, 15, 13, 12, 11, 9, 8, 4, 4, 4, 2, 4, 9, 12, 12, 14, 15, 19, 22, 25, 31, 38, 50, 67, 93,
                114, 92, 66, 48, 37, 31, 24, 21, 16, 15, 14, 12, 11, 9, 5, 4, 7, 4, 4, 4, 10, 12, 13, 14, 15, 20, 23, 26, 31, 39, 51, 71, 93,
                120, 93, 66, 49, 38, 32, 24, 22, 19, 15, 13, 12, 12, 9, 7, 5, 5, 5, 6, 9, 9, 12, 13, 15, 16, 18, 21, 27, 34, 40, 53, 75, 94,
                123, 95, 71, 52, 39, 32, 27, 21, 16, 16, 15, 12, 13, 9, 9, 9, 7, 5, 7, 5, 11, 12, 15, 14, 17, 21, 24, 29, 35, 43, 58, 76, 101,
                129, 101, 74, 53, 43, 34, 29, 24, 21, 15, 14, 14, 13, 10, 10, 10, 9, 10, 10, 10, 11, 12, 14, 16, 15, 21, 25, 31, 37, 46, 59, 79, 106,
                134, 105, 76, 58, 43, 34, 31, 24, 21, 18, 15, 15, 13, 12, 12, 11, 9, 9, 10, 12, 12, 14, 15, 15, 17, 22, 27, 33, 38, 48, 65, 84, 110,
                141, 110, 80, 61, 47, 37, 31, 25, 21, 19, 18, 15, 13, 13, 12, 11, 12, 11, 11, 11, 14, 14, 15, 15, 21, 24, 27, 35, 39, 50, 68, 91, 116,
                147, 114, 92, 66, 48, 40, 34, 27, 24, 20, 20, 15, 14, 12, 13, 13, 12, 12, 10, 14, 12, 15, 15, 15, 22, 24, 28, 37, 44, 53, 75, 95, 124,
                157, 123, 93, 72, 53, 44, 37, 30, 25, 21, 20, 15, 15, 15, 13, 13, 12, 15, 12, 14, 13, 15, 20, 18, 24, 26, 34, 37, 46, 59, 78, 104, 130,
                167, 132, 104, 76, 59, 47, 39, 34, 26, 24, 21, 20, 15, 16, 15, 15, 13, 13, 15, 13, 15, 18, 19, 21, 24, 28, 36, 39, 48, 65, 84, 110, 140,
                175, 142, 111, 82, 63, 52, 40, 36, 29, 25, 23, 20, 17, 18, 15, 16, 15, 15, 15, 15, 18, 21, 21, 24, 27, 35, 38, 47, 56, 69, 93, 121, 151,
                187, 154, 119, 92, 72, 53, 47, 38, 34, 27, 24, 21, 19, 18, 17, 17, 15, 16, 15, 18, 18, 21, 24, 26, 31, 37, 41, 49, 63, 78, 103, 130, 162,
                202, 163, 125, 98, 79, 60, 49, 44, 36, 33, 26, 24, 21, 21, 20, 17, 19, 20, 19, 17, 18, 22, 26, 29, 35, 38, 48, 57, 72, 91, 112, 141, 172,
                220, 178, 136, 112, 89, 68, 53, 46, 40, 34, 31, 26, 24, 22, 23, 21, 20, 21, 21, 21, 23, 24, 28, 34, 39, 44, 51, 63, 80, 97, 123, 156, 186,
                225, 186, 145, 120, 97, 75, 59, 48, 44, 37, 35, 27, 28, 23, 24, 21, 20, 22, 22, 22, 24, 26, 31, 36, 42, 48, 58, 71, 86, 107, 131, 166, 196
            }
            },
            {
                {
                214, 176, 143, 116, 91, 74, 60, 50, 42, 38, 33, 30, 27, 26, 26, 25, 23, 26, 24, 27, 28, 30, 35, 37, 44, 51, 59, 72, 88, 108, 134, 167, 198,
                202, 166, 133, 105, 85, 69, 55, 48, 41, 35, 32, 27, 26, 25, 25, 23, 23, 24, 24, 24, 27, 27, 31, 35, 39, 48, 55, 65, 82, 100, 126, 159, 191,
                192, 157, 125, 98, 77, 61, 50, 44, 37, 32, 28, 27, 24, 22, 22, 21, 21, 21, 22, 23, 26, 27, 29, 32, 37, 42, 50, 60, 73, 92, 116, 147, 179,
                177, 145, 114, 90, 70, 56, 47, 40, 32, 29, 27, 24, 22, 21, 20, 19, 18, 20, 20, 22, 23, 24, 27, 30, 32, 40, 47, 55, 68, 87, 110, 141, 169,
                168, 137, 109, 83, 66, 53, 44, 37, 31, 27, 24, 22, 21, 19, 18, 17, 17, 17, 18, 19, 20, 23, 26, 29, 30, 36, 44, 53, 63, 82, 101, 129, 159,
                160, 129, 100, 76, 61, 48, 41, 33, 29, 26, 22, 22, 19, 17, 16, 14, 14, 15, 16, 18, 18, 22, 23, 26, 30, 35, 41, 50, 60, 76, 96, 124, 151,
                153, 124, 96, 73, 57, 47, 40, 32, 27, 23, 21, 19, 17, 16, 14, 12, 13, 13, 13, 16, 17, 20, 23, 26, 29, 34, 39, 47, 57, 71, 91, 117, 146,
                146, 117, 90, 67, 53, 45, 37, 29, 27, 23, 20, 18, 15, 14, 13, 12, 12, 12, 11, 14, 17, 19, 21, 25, 27, 31, 38, 45, 54, 69, 86, 111, 139,
                143, 111, 86, 65, 52, 43, 35, 29, 24, 21, 18, 16, 13, 12, 11, 10, 10, 9, 11, 12, 14, 17, 19, 23, 26, 28, 35, 44, 53, 64, 82, 107, 134,
                134, 107, 81, 62, 51, 41, 32, 28, 23, 20, 17, 16, 12, 11, 9, 8, 7, 7, 9, 11, 13, 15, 19, 22, 25, 29, 33, 42, 50, 63, 80, 103, 128,
                132, 105, 81, 60, 48, 38, 33, 25, 23, 20, 16, 14, 11, 10, 8, 6, 5, 6, 7, 9, 12, 16, 18, 22, 24, 28, 33, 40, 51, 59, 75, 98, 126,
                129, 103, 76, 58, 48, 38, 31, 26, 23, 19, 17, 13, 11, 7, 6, 4, 4, 5, 6, 6, 10, 12, 17, 19, 24, 27, 32, 39, 47, 61, 74, 97, 123,
                127, 99, 75, 57, 47, 38, 30, 26, 22, 18, 16, 13, 11, 6, 6, 3, 2, 2, 4, 6, 9, 13, 14, 19, 24, 27, 32, 38, 48, 58, 73, 95, 118,
                126, 98, 75, 56, 45, 37, 30, 25, 20, 18, 15, 13, 10, 6, 4, 3, 1, 1, 1, 6, 8, 12, 16, 19, 23, 27, 32, 37, 47, 57, 73, 94, 118,
                124, 98, 73, 56, 47, 37, 30, 24, 21, 18, 15, 12, 9, 8, 3, 2, 1, 0, 2, 5, 8, 12, 15, 19, 22, 27, 30, 37, 45, 56, 70, 92, 116,
                125, 97, 72, 57, 46, 37, 29, 26, 22, 18, 16, 12, 8, 7, 4, 1, 0, 0, 1, 3, 8, 12, 14, 19, 22, 26, 30, 38, 47, 57, 71, 91, 115,
                125, 98, 73, 57, 46, 38, 31, 24, 22, 19, 14, 13, 11, 8, 5, 2, 0, 0, 1, 5, 8, 12, 16, 19, 22, 26, 32, 38, 46, 57, 70, 93, 118,
                127, 101, 75, 58, 47, 39, 31, 26, 23, 19, 16, 13, 10, 8, 5, 3, 1, 1, 3, 6, 8, 13, 17, 19, 23, 26, 32, 37, 47, 59, 71, 95, 118,
                128, 103, 76, 60, 49, 39, 33, 27, 24, 20, 16, 13, 11, 8, 6, 4, 2, 3, 3, 6, 9, 13, 17, 21, 24, 29, 33, 40, 49, 59, 73, 94, 120,
                133, 104, 79, 60, 51, 39, 33, 27, 25, 20, 17, 13, 13, 10, 7, 6, 5, 6, 6, 7, 11, 14, 18, 21, 24, 28, 34, 40, 49, 60, 76, 97, 120,
                138, 107, 83, 63, 51, 42, 35, 30, 24, 21, 19, 15, 12, 11, 9, 7, 6, 6, 7, 10, 12, 16, 19, 22, 24, 28, 33, 41, 50, 62, 76, 99, 126,
                140, 112, 86, 65, 53, 44, 36, 32, 26, 22, 18, 17, 15, 12, 10, 9, 8, 9, 9, 11, 13, 17, 21, 22, 26, 31, 37, 44, 53, 64, 80, 104, 130,
                147, 118, 90, 69, 56, 47, 38, 32, 29, 24, 20, 18, 16, 13, 13, 11, 11, 11, 11, 13, 16, 17, 22, 24, 27, 33, 38, 46, 56, 67, 85, 107, 135,
                151, 125, 95, 75, 60, 49, 41, 34, 28, 25, 22, 21, 16, 15, 14, 14, 13, 13, 13, 16, 17, 21, 23, 26, 30, 33, 39, 50, 59, 70, 89, 114, 142,
                160, 130, 102, 79, 64, 50, 45, 36, 30, 25, 24, 21, 20, 17, 16, 16, 15, 14, 16, 17, 19, 23, 23, 28, 30, 35, 42, 51, 61, 75, 96, 119, 148,
                169, 137, 108, 83, 67, 56, 47, 40, 32, 28, 26, 23, 21, 19, 19, 19, 16, 16, 19, 19, 21, 23, 26, 29, 33, 39, 45, 53, 64, 78, 101, 126, 156,
                178, 146, 116, 89, 71, 60, 51, 41, 35, 31, 27, 24, 22, 22, 21, 21, 18, 19, 19, 22, 22, 27, 29, 30, 35, 42, 50, 58, 69, 84, 107, 134, 164,
                189, 156, 122, 98, 78, 63, 56, 46, 40, 33, 29, 27, 25, 24, 22, 22, 22, 22, 22, 24, 25, 27, 29, 34, 38, 44, 55, 62, 75, 91, 113, 142, 171,
                202, 166, 133, 105, 83, 69, 59, 50, 41, 37, 32, 29, 26, 25, 24, 23, 24, 24, 24, 25, 28, 31, 32, 37, 43, 50, 57, 68, 80, 97, 122, 152, 184,
                215, 176, 142, 112, 91, 76, 63, 53, 49, 41, 36, 32, 29, 27, 27, 26, 25, 27, 27, 27, 31, 32, 35, 41, 45, 55, 63, 72, 86, 108, 132, 162, 196,
                227, 190, 154, 125, 100, 82, 68, 58, 52, 46, 39, 35, 31, 31, 29, 29, 29, 28, 29, 30, 33, 35, 40, 45, 51, 58, 68, 79, 96, 117, 144, 175, 209,
                242, 204, 167, 135, 111, 90, 75, 64, 56, 50, 46, 38, 35, 32, 32, 32, 30, 29, 32, 33, 35, 40, 44, 50, 57, 64, 73, 88, 105, 128, 156, 188, 224,
                257, 216, 175, 146, 118, 98, 81, 68, 58, 53, 49, 43, 38, 35, 35, 32, 33, 33, 35, 37, 41, 43, 48, 54, 63, 68, 78, 94, 113, 137, 166, 198, 241
            },
            {
                204, 168, 133, 106, 86, 66, 53, 43, 39, 32, 27, 26, 24, 23, 23, 22, 22, 20, 22, 21, 22, 24, 26, 31, 33, 40, 47, 56, 71, 91, 118, 146, 179,
                195, 158, 125, 98, 77, 60, 48, 41, 36, 31, 27, 24, 24, 22, 21, 20, 21, 20, 20, 20, 21, 21, 24, 28, 33, 37, 43, 51, 66, 85, 109, 138, 168,
                184, 147, 116, 92, 70, 55, 44, 38, 32, 28, 26, 23, 22, 21, 20, 20, 18, 17, 18, 20, 20, 21, 23, 25, 30, 33, 39, 48, 60, 76, 99, 129, 158,
                170, 135, 108, 85, 63, 50, 43, 35, 29, 25, 23, 21, 21, 19, 17, 18, 17, 17, 17, 18, 19, 21, 22, 24, 26, 31, 38, 44, 55, 70, 92, 119, 148,
                160, 129, 101, 77, 60, 47, 39, 33, 27, 24, 23, 21, 19, 17, 17, 15, 16, 15, 16, 18, 19, 18, 21, 23, 23, 29, 34, 42, 51, 65, 86, 112, 139,
                155, 121, 94, 73, 54, 43, 38, 30, 26, 22, 21, 19, 18, 17, 14, 14, 13, 14, 14, 15, 17, 18, 20, 20, 22, 25, 32, 41, 47, 60, 80, 105, 130,
                146, 115, 88, 67, 51, 42, 35, 28, 24, 21, 20, 17, 17, 15, 14, 12, 12, 12, 13, 14, 14, 17, 18, 20, 22, 25, 29, 37, 44, 56, 75, 99, 124,
                140, 110, 82, 63, 48, 40, 33, 27, 23, 20, 19, 17, 14, 14, 12, 12, 12, 10, 12, 12, 13, 15, 16, 18, 20, 24, 28, 35, 43, 53, 70, 93, 120,
                133, 105, 78, 61, 48, 38, 32, 26, 22, 20, 18, 15, 13, 13, 10, 10, 9, 10, 10, 10, 12, 14, 16, 18, 20, 24, 26, 33, 42, 49, 67, 88, 113,
                128, 101, 76, 57, 45, 37, 31, 24, 21, 19, 16, 14, 13, 11, 10, 8, 6, 7, 8, 10, 12, 14, 15, 17, 21, 22, 24, 33, 39, 48, 64, 85, 109,
                122, 98, 73, 54, 44, 36, 29, 24, 21, 18, 17, 13, 12, 10, 7, 6, 6, 6, 6, 8, 10, 13, 15, 17, 20, 21, 25, 30, 39, 45, 60, 82, 106,
                121, 96, 70, 53, 43, 35, 27, 23, 19, 18, 17, 13, 11, 10, 8, 4, 4, 4, 6, 5, 8, 12, 14, 15, 19, 21, 24, 30, 36, 46, 57, 79, 102,
                119, 93, 68, 52, 43, 34, 28, 24, 20, 18, 15, 13, 9, 8, 6, 4, 2, 4, 4, 6, 9, 11, 13, 16, 18, 21, 24, 29, 37, 45, 57, 76, 101,
                118, 90, 66, 52, 43, 34, 28, 23, 21, 18, 14, 12, 10, 7, 5, 2, 0, 2, 2, 6, 8, 12, 14, 15, 17, 21, 23, 28, 37, 43, 56, 76, 97,
                116, 89, 66, 50, 42, 33, 28, 23, 20, 17, 14, 12, 10, 7, 3, 1, 0, 0, 1, 5, 8, 10, 13, 16, 18, 20, 23, 29, 35, 43, 56, 75, 97,
                118, 91, 66, 51, 42, 34, 27, 23, 20, 17, 15, 13, 10, 7, 5, 2, 0, 1, 1, 4, 7, 11, 13, 16, 18, 21, 24, 27, 37, 42, 55, 74, 96,
                118, 91, 68, 51, 41, 33, 28, 23, 20, 18, 14, 12, 9, 7, 5, 2, 1, 0, 2, 4, 7, 10, 12, 16, 17, 20, 22, 28, 37, 43, 54, 76, 98,
                118, 93, 67, 52, 42, 34, 27, 24, 21, 18, 14, 13, 11, 8, 6, 3, 2, 2, 4, 5, 8, 11, 13, 15, 18, 20, 24, 28, 36, 44, 56, 76, 98,
                122, 95, 71, 54, 43, 35, 28, 24, 22, 18, 16, 14, 10, 9, 6, 5, 3, 3, 3, 6, 9, 11, 14, 16, 19, 21, 24, 30, 38, 46, 56, 77, 99,
                124, 98, 72, 55, 44, 37, 30, 25, 22, 20, 16, 14, 12, 9, 7, 5, 5, 5, 6, 7, 10, 13, 15, 16, 19, 21, 25, 30, 38, 47, 60, 78, 104,
                126, 99, 75, 57, 47, 38, 30, 25, 22, 20, 18, 14, 12, 10, 8, 6, 6, 6, 8, 8, 10, 12, 16, 17, 19, 22, 26, 33, 39, 47, 62, 81, 105,
                132, 104, 77, 60, 48, 41, 33, 27, 25, 21, 18, 17, 14, 12, 10, 9, 8, 8, 8, 10, 12, 14, 15, 18, 21, 24, 27, 34, 41, 51, 64, 86, 109,
                136, 108, 83, 62, 51, 41, 35, 28, 24, 22, 19, 17, 14, 14, 13, 11, 10, 10, 10, 12, 13, 16, 18, 20, 21, 24, 28, 34, 43, 52, 68, 91, 113,
                143, 114, 86, 66, 53, 44, 37, 30, 25, 23, 21, 18, 15, 15, 14, 13, 12, 11, 13, 14, 16, 16, 18, 21, 23, 26, 31, 37, 47, 56, 70, 96, 121,
                150, 120, 93, 70, 56, 47, 39, 32, 28, 24, 20, 20, 17, 16, 15, 13, 13, 13, 13, 15, 16, 18, 20, 22, 24, 27, 34, 40, 49, 59, 77, 101, 127,
                156, 127, 99, 77, 60, 50, 42, 36, 29, 25, 22, 22, 19, 18, 16, 17, 16, 15, 16, 17, 17, 20, 22, 23, 26, 29, 37, 43, 51, 63, 84, 107, 133,
                167, 135, 105, 82, 65, 52, 46, 39, 32, 28, 24, 22, 21, 20, 20, 18, 17, 17, 18, 18, 21, 21, 22, 24, 27, 32, 39, 46, 55, 67, 89, 114, 143,
                178, 144, 114, 89, 69, 56, 48, 41, 34, 29, 26, 24, 22, 21, 20, 20, 18, 19, 19, 21, 21, 23, 23, 26, 31, 36, 42, 50, 58, 74, 95, 122, 150,
                189, 155, 123, 97, 77, 61, 51, 44, 38, 32, 28, 25, 24, 23, 22, 22, 22, 21, 21, 21, 23, 24, 26, 30, 34, 41, 47, 54, 66, 82, 103, 132, 164,
                199, 165, 133, 106, 82, 67, 56, 47, 42, 35, 31, 28, 25, 24, 24, 23, 22, 21, 23, 23, 25, 25, 30, 33, 38, 45, 51, 59, 72, 91, 113, 144, 175,
                216, 178, 144, 116, 92, 74, 60, 51, 47, 41, 34, 31, 29, 27, 26, 24, 25, 24, 24, 25, 28, 29, 33, 37, 42, 48, 55, 66, 80, 98, 125, 153, 183,
                230, 191, 156, 125, 102, 82, 67, 57, 51, 43, 40, 34, 31, 30, 28, 26, 26, 26, 27, 29, 30, 33, 38, 43, 47, 54, 61, 73, 92, 111, 137, 168, 201,
                243, 204, 166, 133, 108, 90, 72, 61, 54, 49, 44, 37, 35, 33, 29, 28, 27, 28, 30, 31, 33, 37, 40, 44, 51, 57, 66, 81, 99, 121, 146, 178, 214
            },
            {
                205, 170, 137, 109, 86, 67, 55, 44, 38, 34, 29, 27, 24, 24, 22, 21, 23, 22, 22, 22, 23, 26, 26, 30, 35, 41, 49, 59, 75, 94, 118, 151, 178,
                195, 159, 128, 101, 79, 62, 51, 42, 36, 31, 27, 25, 23, 23, 21, 21, 20, 20, 21, 21, 24, 23, 25, 29, 34, 39, 44, 54, 68, 87, 113, 141, 171,
                186, 149, 119, 93, 72, 56, 46, 39, 34, 29, 25, 23, 22, 22, 21, 19, 19, 18, 19, 21, 21, 22, 23, 27, 30, 36, 41, 49, 63, 79, 103, 129, 161,
                173, 139, 109, 84, 65, 51, 43, 36, 30, 26, 23, 22, 20, 20, 19, 18, 17, 17, 19, 18, 20, 20, 23, 24, 26, 32, 40, 47, 56, 73, 95, 122, 152,
                164, 132, 102, 79, 61, 49, 41, 34, 28, 25, 23, 22, 19, 17, 16, 17, 15, 15, 17, 18, 19, 20, 21, 23, 26, 30, 35, 43, 53, 68, 87, 113, 142,
                154, 124, 96, 73, 57, 46, 37, 31, 27, 24, 20, 19, 19, 17, 15, 15, 14, 14, 14, 15, 17, 19, 21, 22, 25, 28, 34, 41, 49, 63, 82, 108, 132,
                147, 117, 91, 68, 53, 45, 36, 30, 26, 23, 20, 19, 17, 15, 14, 13, 13, 13, 13, 15, 16, 18, 19, 21, 23, 26, 31, 37, 47, 59, 77, 101, 127,
                142, 112, 86, 65, 51, 42, 35, 27, 24, 21, 19, 17, 15, 14, 13, 12, 10, 12, 12, 13, 14, 17, 18, 20, 23, 25, 30, 37, 43, 56, 72, 94, 122,
                137, 106, 81, 61, 48, 40, 32, 27, 24, 21, 18, 15, 14, 13, 10, 10, 9, 10, 11, 10, 12, 15, 17, 19, 22, 24, 28, 35, 43, 53, 68, 92, 115,
                131, 102, 77, 59, 47, 39, 31, 26, 24, 19, 18, 15, 13, 12, 10, 9, 6, 7, 9, 9, 13, 14, 16, 19, 20, 23, 27, 34, 42, 50, 66, 88, 110,
                128, 99, 76, 56, 45, 38, 30, 25, 21, 18, 17, 13, 12, 10, 9, 8, 5, 6, 7, 9, 11, 13, 15, 18, 19, 23, 26, 31, 40, 48, 64, 84, 107,
                124, 96, 74, 54, 45, 36, 30, 24, 21, 18, 16, 15, 10, 9, 7, 5, 3, 5, 6, 8, 9, 13, 14, 17, 19, 23, 26, 31, 39, 48, 61, 81, 105,
                122, 93, 71, 54, 44, 36, 29, 25, 20, 17, 15, 13, 11, 8, 6, 3, 1, 3, 5, 7, 7, 11, 13, 16, 18, 21, 26, 31, 38, 47, 60, 80, 102,
                120, 92, 69, 54, 43, 35, 28, 22, 21, 18, 15, 13, 11, 7, 5, 2, 0, 1, 2, 5, 9, 11, 13, 16, 19, 23, 25, 29, 38, 46, 58, 78, 99,
                120, 91, 68, 52, 43, 33, 27, 25, 20, 19, 16, 13, 10, 6, 4, 1, 1, 0, 2, 5, 7, 9, 12, 16, 18, 21, 24, 30, 36, 44, 57, 77, 98,
                119, 92, 67, 52, 42, 35, 28, 24, 21, 17, 14, 13, 11, 7, 5, 2, 0, 0, 2, 3, 6, 10, 13, 15, 19, 22, 23, 29, 37, 46, 58, 77, 98,
                121, 93, 69, 53, 43, 36, 26, 24, 21, 16, 16, 13, 10, 7, 4, 2, 0, 1, 3, 4, 7, 10, 12, 15, 18, 22, 24, 29, 38, 45, 58, 77, 98,
                121, 94, 70, 53, 44, 35, 27, 25, 21, 19, 15, 13, 11, 8, 5, 3, 1, 2, 3, 5, 7, 12, 14, 16, 19, 22, 24, 29, 39, 46, 59, 76, 102,
                125, 96, 72, 55, 44, 36, 30, 25, 23, 19, 15, 13, 11, 8, 6, 4, 2, 3, 3, 6, 9, 11, 14, 16, 18, 22, 25, 30, 39, 47, 59, 79, 102,
                125, 98, 74, 56, 46, 36, 31, 26, 23, 20, 17, 13, 13, 9, 7, 5, 3, 3, 5, 6, 9, 11, 15, 16, 18, 22, 25, 33, 39, 48, 61, 82, 106,
                129, 100, 77, 58, 47, 38, 31, 26, 23, 20, 18, 14, 12, 10, 9, 6, 6, 7, 6, 8, 11, 13, 14, 17, 19, 22, 26, 32, 40, 49, 62, 84, 108,
                133, 105, 81, 60, 49, 40, 34, 27, 25, 21, 18, 16, 13, 11, 9, 7, 7, 7, 8, 9, 12, 14, 15, 18, 21, 23, 28, 34, 43, 52, 65, 87, 112,
                138, 111, 82, 63, 51, 42, 34, 28, 24, 22, 19, 17, 15, 13, 10, 10, 9, 10, 10, 11, 13, 16, 17, 20, 21, 24, 29, 35, 43, 53, 69, 91, 117,
                146, 114, 88, 68, 52, 45, 36, 30, 26, 22, 19, 18, 16, 13, 11, 12, 11, 10, 11, 13, 14, 17, 18, 19, 22, 26, 31, 39, 45, 57, 73, 97, 121,
                150, 121, 94, 71, 57, 47, 39, 32, 26, 24, 21, 17, 16, 15, 15, 13, 13, 13, 13, 14, 16, 18, 19, 22, 23, 27, 34, 40, 50, 59, 79, 103, 126,
                158, 129, 101, 76, 60, 50, 42, 35, 28, 25, 23, 21, 18, 18, 16, 16, 14, 13, 15, 16, 16, 19, 20, 22, 26, 30, 35, 43, 52, 63, 84, 108, 133,
                170, 135, 108, 83, 64, 53, 45, 37, 31, 28, 23, 22, 21, 18, 17, 17, 16, 16, 17, 18, 18, 21, 22, 24, 27, 33, 39, 46, 54, 69, 89, 115, 143,
                178, 146, 114, 89, 70, 57, 47, 40, 34, 29, 25, 23, 21, 19, 19, 18, 17, 17, 18, 18, 21, 22, 22, 26, 30, 36, 44, 49, 59, 76, 95, 123, 151,
                189, 157, 124, 97, 76, 61, 51, 44, 37, 31, 29, 24, 22, 21, 21, 19, 19, 19, 19, 21, 21, 23, 25, 28, 33, 40, 46, 54, 65, 82, 105, 132, 164,
                201, 167, 133, 106, 82, 67, 56, 47, 41, 35, 30, 27, 24, 23, 21, 22, 22, 21, 22, 22, 23, 26, 28, 31, 37, 44, 51, 58, 71, 90, 115, 144, 176,
                215, 179, 144, 115, 90, 73, 60, 53, 45, 40, 34, 30, 26, 25, 23, 23, 22, 23, 23, 23, 25, 29, 30, 36, 42, 48, 55, 65, 81, 100, 127, 154, 189,
                233, 192, 156, 126, 101, 82, 67, 56, 48, 44, 39, 33, 30, 27, 27, 24, 24, 25, 26, 26, 28, 32, 35, 40, 46, 52, 61, 72, 89, 111, 137, 169, 201,
                244, 203, 165, 135, 110, 89, 71, 61, 52, 45, 41, 37, 33, 31, 30, 27, 26, 27, 28, 28, 31, 34, 39, 47, 48, 55, 63, 80, 98, 121, 146, 178, 212
            },
            {
                198, 160, 130, 105, 80, 65, 50, 41, 38, 33, 28, 25, 24, 22, 24, 24, 21, 22, 21, 25, 23, 24, 24, 27, 34, 38, 43, 52, 66, 89, 112, 140, 173,
                190, 156, 123, 96, 76, 59, 48, 38, 36, 30, 26, 23, 22, 23, 23, 21, 21, 22, 22, 24, 21, 24, 25, 26, 29, 36, 41, 47, 63, 79, 105, 133, 162,
                177, 144, 113, 89, 66, 53, 43, 36, 33, 27, 26, 24, 22, 20, 21, 22, 21, 18, 21, 20, 21, 21, 23, 25, 26, 33, 38, 47, 56, 73, 95, 123, 152,
                164, 132, 105, 82, 61, 48, 39, 34, 27, 25, 24, 22, 19, 21, 20, 18, 16, 19, 17, 21, 21, 22, 23, 24, 25, 33, 36, 43, 50, 66, 90, 113, 140,
                157, 125, 100, 75, 54, 46, 37, 31, 27, 25, 24, 21, 21, 19, 17, 18, 15, 17, 19, 19, 20, 21, 23, 24, 24, 26, 34, 38, 48, 61, 79, 106, 131,
                150, 120, 93, 71, 53, 40, 36, 27, 25, 23, 21, 18, 19, 16, 15, 15, 16, 14, 15, 16, 20, 21, 22, 22, 22, 25, 31, 37, 46, 54, 76, 97, 128,
                141, 112, 86, 65, 49, 38, 33, 27, 23, 22, 22, 19, 15, 15, 14, 15, 12, 13, 12, 15, 16, 18, 19, 21, 21, 24, 28, 34, 39, 51, 70, 93, 119,
                133, 103, 79, 59, 48, 35, 29, 25, 22, 22, 16, 15, 14, 13, 12, 14, 13, 12, 13, 14, 15, 15, 17, 20, 21, 24, 25, 34, 38, 48, 64, 91, 112,
                133, 98, 74, 58, 43, 34, 30, 26, 21, 21, 18, 15, 14, 12, 11, 12, 11, 12, 12, 12, 14, 15, 15, 19, 20, 22, 25, 34, 38, 45, 62, 85, 107,
                128, 97, 70, 53, 43, 35, 27, 23, 21, 21, 17, 14, 13, 12, 11, 12, 9, 10, 12, 12, 13, 15, 15, 21, 21, 21, 24, 27, 36, 41, 59, 79, 102,
                115, 93, 67, 51, 41, 34, 26, 22, 21, 17, 16, 14, 12, 12, 10, 9, 7, 9, 9, 11, 12, 13, 14, 17, 20, 22, 24, 28, 34, 40, 54, 76, 103,
                119, 91, 65, 49, 39, 34, 27, 22, 18, 16, 15, 13, 11, 10, 9, 4, 6, 4, 8, 9, 13, 12, 12, 15, 21, 23, 23, 26, 34, 40, 53, 75, 95,
                117, 90, 65, 48, 38, 31, 24, 21, 20, 16, 14, 13, 10, 10, 8, 6, 4, 2, 7, 7, 10, 11, 13, 15, 19, 21, 23, 26, 34, 39, 51, 74, 93,
                112, 88, 63, 48, 38, 30, 25, 22, 20, 15, 14, 14, 11, 7, 4, 3, 2, 2, 2, 4, 11, 10, 12, 14, 15, 21, 23, 24, 34, 38, 49, 70, 90,
                112, 86, 61, 43, 38, 27, 23, 22, 16, 15, 14, 12, 10, 7, 3, 3, 0, 1, 3, 4, 10, 11, 12, 14, 15, 18, 22, 26, 31, 38, 49, 66, 91,
                111, 83, 61, 46, 36, 27, 23, 21, 21, 15, 13, 11, 11, 9, 4, 2, 2, 0, 2, 5, 9, 11, 12, 14, 15, 18, 21, 24, 32, 38, 48, 65, 91,
                112, 84, 62, 46, 36, 29, 24, 21, 16, 15, 12, 10, 9, 8, 3, 2, 0, 0, 2, 4, 9, 11, 12, 15, 15, 20, 21, 25, 33, 38, 48, 67, 89,
                113, 85, 62, 45, 37, 28, 23, 21, 19, 16, 12, 12, 11, 6, 3, 3, 2, 2, 2, 4, 9, 10, 12, 12, 15, 16, 21, 24, 33, 38, 49, 66, 93,
                112, 89, 64, 48, 36, 28, 24, 21, 17, 15, 13, 12, 11, 9, 8, 4, 4, 4, 2, 4, 9, 12, 12, 14, 15, 19, 22, 25, 31, 38, 50, 67, 93,
                114, 92, 66, 48, 37, 31, 24, 21, 16, 15, 14, 12, 11, 9, 5, 4, 7, 4, 4, 4, 10, 12, 13, 14, 15, 20, 23, 26, 31, 39, 51, 71, 93,
                120, 93, 66, 49, 38, 32, 24, 22, 19, 15, 13, 12, 12, 9, 7, 5, 5, 5, 6, 9, 9, 12, 13, 15, 16, 18, 21, 27, 34, 40, 53, 75, 94,
                123, 95, 71, 52, 39, 32, 27, 21, 16, 16, 15, 12, 13, 9, 9, 9, 7, 5, 7, 5, 11, 12, 15, 14, 17, 21, 24, 29, 35, 43, 58, 76, 101,
                129, 101, 74, 53, 43, 34, 29, 24, 21, 15, 14, 14, 13, 10, 10, 10, 9, 10, 10, 10, 11, 12, 14, 16, 15, 21, 25, 31, 37, 46, 59, 79, 106,
                134, 105, 76, 58, 43, 34, 31, 24, 21, 18, 15, 15, 13, 12, 12, 11, 9, 9, 10, 12, 12, 14, 15, 15, 17, 22, 27, 33, 38, 48, 65, 84, 110,
                141, 110, 80, 61, 47, 37, 31, 25, 21, 19, 18, 15, 13, 13, 12, 11, 12, 11, 11, 11, 14, 14, 15, 15, 21, 24, 27, 35, 39, 50, 68, 91, 116,
                147, 114, 92, 66, 48, 40, 34, 27, 24, 20, 20, 15, 14, 12, 13, 13, 12, 12, 10, 14, 12, 15, 15, 15, 22, 24, 28, 37, 44, 53, 75, 95, 124,
                157, 123, 93, 72, 53, 44, 37, 30, 25, 21, 20, 15, 15, 15, 13, 13, 12, 15, 12, 14, 13, 15, 20, 18, 24, 26, 34, 37, 46, 59, 78, 104, 130,
                167, 132, 104, 76, 59, 47, 39, 34, 26, 24, 21, 20, 15, 16, 15, 15, 13, 13, 15, 13, 15, 18, 19, 21, 24, 28, 36, 39, 48, 65, 84, 110, 140,
                175, 142, 111, 82, 63, 52, 40, 36, 29, 25, 23, 20, 17, 18, 15, 16, 15, 15, 15, 15, 18, 21, 21, 24, 27, 35, 38, 47, 56, 69, 93, 121, 151,
                187, 154, 119, 92, 72, 53, 47, 38, 34, 27, 24, 21, 19, 18, 17, 17, 15, 16, 15, 18, 18, 21, 24, 26, 31, 37, 41, 49, 63, 78, 103, 130, 162,
                202, 163, 125, 98, 79, 60, 49, 44, 36, 33, 26, 24, 21, 21, 20, 17, 19, 20, 19, 17, 18, 22, 26, 29, 35, 38, 48, 57, 72, 91, 112, 141, 172,
                220, 178, 136, 112, 89, 68, 53, 46, 40, 34, 31, 26, 24, 22, 23, 21, 20, 21, 21, 21, 23, 24, 28, 34, 39, 44, 51, 63, 80, 97, 123, 156, 186,
                225, 186, 145, 120, 97, 75, 59, 48, 44, 37, 35, 27, 28, 23, 24, 21, 20, 22, 22, 22, 24, 26, 31, 36, 42, 48, 58, 71, 86, 107, 131, 166, 196
            }
            },
        },
    }
};

static const ot_isp_cmos_acs g_cmos_acs = {
    /* acs_attr */
    {
        /* en */
        1,
        /* y_strength */
        256,
        /* run_interval */
        2,
        /* lock_en */
        0,
    },
    /* acs_calib_param */
    {
        /* light_index */
        {
            -1, 23, 10, 5, 4, 1, 5, -1, 6, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
            -1, -1, -1, 22,
            -1, 0, 10, 14, 3, 14, 5, -1, 2, 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
            -1, -1, -1, 23,
        },
        /* model_ar_min */
        -0.08f,
        /* model_ar_step */
        0.098f,
        /* model_ab_min */
        0,
        /* model_ab_step */
        0.28f,
        /* light_type_g_high */
        1,
        /* light_type_g_low */
        2
    },

    /* acs_y_shading_lut */
    {
        /* g_param_high_ct */
        {
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024
        },
        /* g_param_low_ct */
        {
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
            1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024
        },
    },

    /* acs_color_shading_lut */
    {
        /* avg_rg_map */
        {
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000
        },

        /* avg_bg_map */
        {
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000
        },

        /* prof_rg_map */
        {
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000
        },

        /* prof_bg_map */
        {
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000, 1.000000000,
            1.000000000
        }
    }
};

static const ot_isp_cmos_clut g_cmos_clut = {
    {
        1,
        128,
        128,
        128,
    },
    {
        {
            0, 1065354243,    7349236,   12591103, 1072692221,    2093044,   15734785,   14686204,    4190187,    8391641,   10491892,    7351269,   12595140,   15751088,    7357398,    7364553,   16808863,   14721936,    6323133,    3185586,   10536834,    5302132, 1071691689, 1065407391, 1072760679, 1066476378, 1058073494, 1049691021, 1060192077, 1053907776, 1042357123, 1033974650, 1047623475,   37763067, 1026639729,   69227516,   35664878,   30422018,   74469360,   49303559,   36713475,    9454577,   61886468,   17847297,   18889723,    1075169,   33574917, 1071673339,    4215784, 1066439637,    6316029, 1055951864, 1071677403, 1050722250, 1064336377, 1037085685, 1059105743, 1032905663, 1047567350, 1016121329, 1042338756, 1014040500, 1027651571,  994107374,
            1023473594,   99641342, 1005638640,  125859841, 1004608431,   68182028,  983625708,   84963348,  111175668,   28337169,  144736246,   37776419,   84960263, 1070623765,  106984459, 1071673392,   48259088, 1047560218,   60846108, 1040217149,   10512403, 1024495647,   16804905, 1011907658, 1059091480, 1000383524, 1055944758,  983598166, 1036027933,  974173224, 1026586691,  954240098, 1011915810,  149982212,  998277200,  169910279,  986754086,   99647517,  968919132,  112233511,  961592362,   47215668,  939561064,   55606342,  173053943,    1076298,  198225911,    3173477,  124815376, 1034971232,  141596695, 1031822466,   73431081, 1001416820,   83919927,  990924958,   23097407,  967861384,   29388886,  953174202, 1053846613,  935355547, 1053844595,  915422421,
            1018194026,  187741194, 1010849936,  204523534,  984638590,  124819505,  972049580,  137405500,  951084178,   63995992,  934298823,   72385643,  918578341,    7366783,  896547043,   11560089,  219203575, 1029722276,  238083063, 1027622086,  156280862,  982531272,  170965029,  975186161,   94407749,  938485995,  104895571,  924847389,   35681388,  895490318,   40924290,  877654344, 1054891153,  220257297, 1055937711,  235990037, 1005602998,  149991495, 1000355036,  161528914,  960509146,   80775293,  950016263,   89164943,  917512445,   14704818,  901774642,   19946700,  874515744, 1026570471,  853534045, 1025518856,  255914998,  967841051,  273745910,  962592068,  184599596,  913304910,  199283763,  900714879,  115383394,  858769793,  125871216,  840934842,
            47215768,  251723800,   54555822,  267457564, 1056984269,  174114909, 1059079402,  186700904,  997205249,   98603169,  993006886,  106992819,  939524404,   24140006,  931129698,   28333311,  886037863, 1025515818,  870300060, 1025512779,  831502746,  957344109,  810520023,  951047574,  290529270,  889173424,  307312630,  877630945,  212919354,  822050291,  226554946,  804215295,  136359039,  283190303,  146846862,  298924067,   60847300,  199285875,   68187353,  211871869, 1061174536,  116431046, 1063269669,  124820696,  990905675,   33575193,  988804464,   37768498,  922733967, 1025509740,  914339259, 1026555277,  855611857,  945799615,  840923647,  940551656,  788489727,  866089471,  767506943,  854547967,  325143542,  786379263,  341926902,  768544255,
            241238089,  314657831,  254873680, 1073729540,  157334684,  224457864,  168870059,    2098175,   74478831,  134258922,   81818885,   10491885, 1066413378,   43010380, 1068508512,   16788432,  985654677, 1026552238,  983553466,   12600251,  905944552,  934255103,  897549823,    7364519,  826234367,  843006463,  811546111,    3179412,  746524159,  750708223,  725542399, 1072735105,  359757814, 1066382339,   12565510,   39852028,  269557847,    6288378, 1070590977,   23075843,  179357881,   13633505,    8393724,    7349248,   88110363,   17831869,   13639644,    3159033, 1071652221,   18891679,   15742917, 1069563891,  980403679,   18901891,    9458609, 1058033647,  889155071,   17863528,    5271454, 1046502379,  796857855,   17873742,    1086346, 1034972134,
            704559615,   11531264, 1070642039,   91251699, 1072665606,    5245953,   44048372,   56641543, 1071635454,    6299638,   42997761,   19939350,   10486772,    9449444,   11542530, 1070611490,   15731661,    4211671,    4206588, 1053833260,   18885550, 1069569995,      15350, 1034958903,   18896785, 1061187519, 1063274481, 1016083521,   18906998, 1053853620, 1051743213,  997209164,   17868635,   71319542, 1040212969,  122724334,   16831297,   43003909, 1028682724,   78674958,   24113149,   11546635,  100691943,   36724781,          0, 1072706573,   77617150,      18505,    6297598, 1061174288,   35669007, 1043346532,    8398828, 1046495251,    7355420, 1015030910,    8403933, 1030768662, 1062221863,  986714263,      19409, 1016089625, 1044396081,  960494769,
            1065378757,  106987504, 1025520700,  152098795, 1056996281,   67134474, 1006646343,  101754904, 1049662382,   28332066,  986722385,   52461636,   73419756, 1071661110,  144748510,    6314096,   70267904, 1047541832,  100700158, 1037055131,   23080969, 1024470106,   56650782,  997200068,    4207628, 1001398380,   17847355,  960490733, 1067464718,  978327678, 1058029655,  922732822, 1053834257,  137411564, 1028664433,  181474279, 1039156244,   90215443, 1001396363,  123787298, 1023428632,   45117497,  973080740,   67149917, 1007702043,    3166301,  946861246,   12609687,  124817378, 1039152255,  178319316, 1032860881,   88110078, 1005590689,  126926849,  983563530,   47208470,  974126274,   76583982,  934267202,   11552812,  941614307,   28339291,  886019450,
            1059077183,  166786025, 1058030726,  209800164, 1036005457,  112246813, 1017127087,  145818669, 1012934755,   59805776,  979369177,   81837173,  989863029,    9461892,  941612289,   18905278,  966792327, 1034958006,  903854378, 1029714182,  162582489,  989858023,  210841546,  969928015,  113288192,  946855191,  153154565,  910141846,   67141670,  904900936,   95468607,  850354654,   23093323,  196161510,   39879802,  239175648, 1058030702,  135326759, 1059081396,  167850039, 1022371984,   74494057, 1007687917,   96525454,  989858994,   15757482,  958391590,   25199845,  958394579, 1031811308,  910143838, 1026568508,  925881588,  976221484,  861896086,  956292499,  195104719,  921680236,  242315200,  884966891,  139515907,  868187564,  178333704,  814690815,
            86026295,  224488418,  113303633,    6264838,   34633834,  156309554,   50370714,   10471417, 1058031773,   89181314, 1061180642,    8375275, 1011883214,   22053073,  999297322,   12570584,  968880383, 1028665633,  939510130,   18866115,  925877552,  963634545,  879723962,   25161647,  882874720,  897553856,  820986367,   31457179,  226578373,  832522751,  274837429,   36705160,  165743622,  252814303,  203511820,   20970481,  104909896,  178340924,  132187234,    1044475,   45125770,  103868570,   60862649,    1044475, 1060131019,   27299064, 1062231312,    7335925, 1003492620, 1025519959,  990905704,    7335919,  948950348,  949998006,  920629695,    5238761,  895457676,  873428479,  850352639,    4191204,  840916428,  796857855,  779027967,    2095071,
            258052026,    2059279,    6257677,   48252899,  190922762,   11513850,    9418750,   22031353,  122745946,   12565475,    8375283,    4199432,   55616681,   11517898,   10472418, 1071646738, 1062230265,   23057326,   15718350, 1067449371,  995101001,   34597778,   22013881, 1059057699,  930069913,   44042103,   28309413, 1049617453,  865038824,   54533980,   33556369, 1040177206,  800006655,   11521019,   40901502,   75536341,  290575280,    3136506,   29359084,   46166005,  216101901,    5233651,   10482679,   18892819,  140580971,   11526118, 1072689148, 1071655981,   66108617,   14673881,    4190200, 1054871622, 1063280936,   15724492,    8384498, 1039135837,  986710406,   17824703,    6287340, 1022351477,  912238053,   18875315,    5239782, 1004518541,
            834618879,   33562601,    3142625,  101771208,  758049279,    8391674,    2095068,   67154931, 1070547996,    1047554,   60840919,   32538654,    8360964,    2095108,   35665902,    1069127,   13614063, 1073738757,   10492930, 1046488175,   10467286, 1069543430,    1051662, 1021311126,   15715260, 1063249928, 1069548566,  994036925,   29351840, 1058006026, 1063254047,  967811300,   40892292,   62943196, 1054862376,  128005050,   49288041,   34622455, 1045421105,   86045682,   59780943,   11545614, 1035981883,   45134890,   16760829, 1070602272,   91270085,    5272674,    7328763, 1060111408,   60851173, 1040201881,    3136504, 1049620544,   31479813, 1004534991,    8380397, 1035984977,    7354401,  967819525,   13624287, 1022348385, 1063263290,  932153658,
            14674898,   89178063, 1046478929,  153191340,   16774086,   56659956, 1030744169,  104937457,   18874297,   26240024, 1012911233,   56682551,   20974509,      15418,  995078297,    8428669,   45101024, 1050679387,  119603122, 1033916610,   20976626, 1029698682,   83938270,  987759879,          0, 1008719001,   49321993,  941603148,    2096131,  985641144,   16803891,  896494993,    2095108,  115411905, 1061173340,  179426206, 1071640581,   76600307, 1032850563,  123828209, 1066396679,   38836260, 1007674538,   67181636, 1061152777,    3171413,  981448912,   10535064, 1055908875, 1043344516,  955223287, 1028678891,   76579790, 1012923571,  148984734,  972032319,   48259050,  981453025,  107025366,  916434323,   22034435,  949982479,   66114574,  859788775,
            3154967,  140598195,   25203782, 1072653320, 1065357352,   95492082, 1059084413,    6255609, 1054866488,   51432497, 1021320372,   10448875, 1042278473,    6326383,  985653482,   19883994, 1028641881, 1037059245,  949986591,   29323208, 1015005290,  995098859,  914319701,   44005301,  105961404,  955235624,  177318793,   60784546,   72394721,  914323813,  129063887,   77562766,   40925190,  166833061,   80808980,    4181996,   12603434,  114382833,   32555098, 1073725424, 1061170251,   61931581, 1058043039,    2076657, 1039140970,    9481354, 1010837733,   10462190, 1019208841, 1030772951,  964681002,   18848744,  997179561,  979372323,  918524270,   26186722,  975150280,  929019247,  873417139,   34573277,  134294440,  877617596,  206700404,   42959831,
            95481818,  192019351,  151103431,   14692308,   57717771,  132226032,   95504410,    3149799,   21003324,   72430667,   38857838, 1073737718, 1060128876,   12637349, 1055954113,    3135488, 1027609755, 1025536256, 1000356117,    6275080,  997187786,  963644763,  944758121,    8366096,  965717240,  903850422,  888111549,    8360984,  934247718,  841958911,  832513535,    9403424,  163676052, 1070542870, 1068456975,   33591228,  118568914,    9392126,    3107840,   17851355,   73461777,   14634983,    8352754,    6305783,   28355664,   24071120,   14642147, 1072696336, 1059087502,   34560952,   24079313, 1068492838, 1016078540,   53439390,   36664255, 1062192188,  975167754,   73365380,   52394923, 1055891539,  934255943,   94340970,   69174168, 1047493737,
            893344132,    1022970,   85952389,   53539749,  192009087,    3120117,    7328746,   33602510,  140608459,    6262766,    2082799,   15762423,   88157207,   14649316, 1073723377, 1072711710,   35706980,   24085464,    6268912, 1056969796, 1056998576,   35619788,   14655467, 1043325032, 1005596925,   48202687,   23042021, 1028631693,  955243849,   60785587,   30380000, 1012890802,  903842198,    9437152,   38766554,   75585420,  852440546,    1042412,   47153108,   49352642,  221391722, 1073729524,   22037450,   24169463,  162646980,    6275063,    8396765, 1072727084,  102851613,   12562424,    1048559, 1047543904,   42009720,   17801209,    1041403, 1024457876, 1055957202,   21991418,    4180996, 1001372871,  994065709,   26182652,    7320588,  977238267,
            934272393,   23093192,    8364052,   97631092,  873429476,    9451489,    8357916,   64055222,  811537919,    1053687,    9401380,   31527929, 1063197731,    1044488,   40937389, 1071693883,    4145162, 1073730583,   25197516, 1039166589,   12538866, 1071626278,   11553769, 1005591744,   18828252, 1068473397,    2105348,  974113026,   28266436, 1065319492, 1070595099,  940538180,   42951595,   43041713, 1065343025,  119676763,   63927185,   26251220, 1059042375,   78757803,   83853175,   10509303, 1051693150,   37838842,  104828765, 1072704535, 1044342900, 1070660682,    1022972, 1062207541,   64032656, 1028692123,    2071543, 1052759122,   44095418,  987773163,    4167666, 1042262128,   24158179,  946854204,   10456041, 1030716557,    6317067,  904885644,
            18842590,   65086361, 1064316977, 1056909323,   29329362,   42002376, 1050672214, 1070539772,   41911237,   19965943, 1035978875,   11474924,   54494137, 1072719909, 1020236960,   27200477,   66028460, 1052781650, 1004495044,   45024204,   13634521, 1033891966,   88177522,   68091834,    4191206, 1015002282,   62993319,   92208040, 1072684017,  995064022,   36761565,  117372821,    2082806,   86083456,   11577362, 1057989608,    9418744,   56703932, 1060136006, 1067419624,   14657529,   27324408, 1036001402,    4157415,   19896314, 1071685684, 1012915374,   16735204,   24087547, 1043355759,  988780769,   32458720,   28277756, 1015024810,  964647188,   49230811,   31487931,  987742437,  114418515,   67052501,   15748053,  958363935,   80843669,   84873167,
            5252076,  108129127,   48316375, 1061164998,          0,   71406512,   14739482, 1066397652,    1041424,   34683897, 1054906460, 1072679905, 1073727519, 1071701059, 1022379167,    8366059, 1070573613, 1033929868,  989851873,   19892211, 1067420733,  996157653,  957325603,   30369787, 1063219276,  960483615,  924798308,   40846339,   52485023,  922711400,  139611955,   51323914,   34645955,  130174799,   99741571, 1070631844,   17855462,   86109093,   58822610, 1069569982,    4210695,   42042363,   17902626, 1071654872, 1067455526, 1069619282, 1049675890,    2095088, 1058007108, 1024503977, 1008756931,    7324678, 1047510113,  978340097,  966789395,   11507739, 1035964543,  933223769,  925869412,   14641200, 1024418972,  887059888,  883901876,   17775685,
            76628865, 1056893981, 1049570323,    9503617,   53543856, 1073671174, 1064248323,    4244392,   30459872,   15656943,    4135924,      33742,    9470990,   32433113,   18812901, 1070614515, 1062225980,   52356034,   35588052, 1068501015, 1043336296,   76474282,   55509955, 1065339962, 1024446612,  104786833,   79626161, 1061130333, 1004509376,  134146935,  104790942, 1055872128,  984571116, 1056925689,  129955723,   26311519,  101822306, 1068455922, 1053798376,   14757778,   71394206,    7291882, 1062180840,    3204036,   42014682,   21967841, 1071610856, 1066440694,   12634134,   38741974,   10445798, 1055934504, 1058045009,   58661834,   24072162, 1044381785, 1028665484,   79630270,   40844253, 1032828042, 1001384135,  100598706,   57617368, 1020225724,
            973053186, 1060101079,   75438034,   43119419,  944723260, 1066384350,   93259724,   24222587,  127015747,    1023972, 1060121534,    6373306,   90292108,   12550120, 1063257037, 1061218298,   53569493,   26175466, 1069538266, 1042320441,   15796254,   39800811,    3127270, 1023423608, 1052815463,   54473708,   13604847, 1004525751, 1015044273,   68099053,   25130999,  984580343,  979369210, 1065374645,   35608575,   59927320,  941598019, 1066410953,   46085126,   34734948,  903825804, 1071642589,   56562702,    8495025,  152208164,    5230574, 1070638998, 1055995901,  108142458,   13608957, 1069577137, 1029753930,   64075728,   20937739, 1070612427, 1002464407,   18959398,   28268569, 1072697316,  974127333, 1047585917,   34549800,    5234683,  947886386,
            1001422037,    3196818,    9415696, 1038018575,  955257133,      36787,   13598757, 1061083135,  910141829, 1072714707,   15684666,   11452400,  863977948, 1072701426,   18818128,   36613088, 1047456808,    1041422,   12657518,   63871951, 1065282577,    2076714,    7398293,   94276542,    7269370,    1014854,    2139067,  125729709,   24045540, 1073694819, 1071670241,  159280026,   41870285,   17907568, 1069556741, 1035957219,   63891382,    9500573, 1067444264, 1056920545,   90105757,    2143177, 1063234635,    4142046,  119466884, 1068527605, 1059025007,   25105371,  148828010, 1062217759, 1053766802,   49214423, 1051684861, 1055908937,   31563589,   74373074, 1063215094, 1047502964,   20009848,  100580301,    1002478, 1038048414,    8456107,  126786503,
            14629861,   34715469, 1071692765, 1035993015,   30354396,   20013958, 1061187599, 1052757953,   48177104,    5312447, 1050682432, 1070572492,   69145540, 1064353784, 1039128690,   14645205,   90115000, 1049652272, 1026527395,   34556894,  112132012, 1033902185, 1013925076,   54468582, 1056959443, 1019201697,   51519260,   74381293, 1062194138, 1002403033,   33671003,   93244404, 1070574561,   51523370,   15821723, 1037076362,    6262758,   29478768, 1070666714, 1050693538,   18838505,    7434165, 1051768857, 1064309689,   33512426, 1059131387, 1032872024,    5233615,   47136747, 1036037185, 1013974168,   19899364,   60762092, 1012944008,  994028759,   33516537,   75436013,  989850830,  974083351,   47132685, 1064331178,  965709077,   72523506,   59702305,
            1065368511,   68331270,   47331134, 1043403613, 1068502995,   39992153,   22139786, 1051773825,    1041381,    9555884, 1069640663, 1060145061,    9419765, 1053908991, 1043398692, 1069563847,   17797124, 1022423123, 1016109169,    6290409,   25126930,  991985831,  988820670,   13612043,   31409184,  960499963,  961531147,   19886125,   37690415,  929014096,  934241625,   25111631,    4252546, 1039049765, 1026487319, 1052876592,    1092515, 1064211471, 1049549831, 1054952288, 1072721860,   15632376, 1073662967, 1057027984, 1072707555,   42892258,   24033256, 1060153280,          0,   72249292,   50242520, 1063277551,    2083868,  103704500,   78549959, 1064304670,    2070584,  138304412,  110003126, 1064283213,    1007701,  175002500,  142504868, 1063213181,
            1072639089, 1036988409,  175006609, 1063398147,   22111065, 1059001328, 1025476580, 1059179327,   13704070,    7272423, 1046438882, 1054960508,    5298099,   31383517, 1067402207, 1050741688, 1071681503,   56543187,   14623709, 1046522868, 1065371658,   83800008,   36635609, 1040205873, 1059063860,  113155005,   61793237, 1033889902, 1051706463,  142508977,   86951888, 1025476779, 1043300489, 1035975629,  113159114,    1226453, 1033845939, 1054839761,  139366340, 1064454942,   42065712, 1073703893, 1026560945, 1052893031,   27364202,   19874776, 1044375484, 1041331120,   11615139,   41885659, 1061141447, 1028719610, 1071704028,   63896540,    5213137, 1016108100, 1057002516,   86955997,   24076250, 1001399439, 1042301004,  110015454,   43988962,  987740377,
            1027600517, 1036010400,   63900649, 1018079251, 1010801853, 1050677170,   83813361, 1051625475,  994004213, 1067441090,  103725048,   12479475,   62021383,   10463186, 1030793086,   47075299,   39976781,   27228129, 1043360662,   83768275,   18980754,   43993071, 1056976813,  121509826, 1069629400,   60758013, 1071642564,  161348529, 1047583774,   77521931,   12566490,  201187232, 1024490597, 1040240500,   27232238, 1012877277, 1001397419, 1050708882,   40848387, 1044324313,  978304241, 1062227887,   53416983,    2028502,  954162488,       4043,   67035180,   34524114,   83025629,   12570599, 1040267083,   65970126,   53636912,   24088578, 1047588719,   99514313,   25297794,   33509405, 1055959955,  134108100, 1068603349,   42931256, 1064330166,  168700863,
            1038165033, 1047615303,       8152, 1009772455, 1006680189, 1052838769,   10476538, 1038069679,  976242897, 1059110811,   16748572, 1066367928,  944757030, 1064334276,   23022654,   20923328,  913272186, 1070606316,   28248160,   49221576, 1026469936,    3136532, 1051838232,   78568400, 1051630618,    5214269, 1053913928,  106866647,    3050499,    7290982, 1055990648,  136213470,   29261805, 1058136858, 1059114920, 1006666608,   56521687, 1057065808, 1061191639, 1030767493,   87976896, 1055994758, 1064314886, 1055916954,  120479657, 1055972284, 1065343029,    7323566,  156129168, 1054900209, 1064272997,   32473026,  192827256, 1052779559, 1062154389,   55525334, 1026506749, 1049611357, 1065507556,   79626218, 1047471092, 1044344980, 1061288737,  102677502,
            1070532587, 1068659436, 1057069917, 1005658937,   18803682, 1061292847, 1052851098, 1026611034,   43963352, 1053927281, 1048632278, 1046513531,   70171598, 1046560692, 1043363858, 1067465628,   98478019, 1038145527, 1037047887,   14675900,  127831991, 1028681786, 1029683340,   33529820,  157186987, 1017120894, 1021270218,   50287613, 1026543563, 1006608578,    6483633,   67043358, 1045407695,    6487742, 1069712122, 1007796994, 1064271827, 1066568461, 1058150211, 1023503151,    9394135, 1051858781, 1047635852, 1038159708,   30356442, 1037149101, 1035025365, 1053865865,   52366299, 1020342269, 1022413855, 1068522422,   75426780, 1003534414, 1008753769,    8389603,   98486237,  985679007,  995094708,   20947984,  121545694,  968872176,  980386047,   30361662,
            1028676504, 1020155950, 1001306139, 1012032202, 1043343273, 1055800344, 1034852363, 1021443843, 1059059642,   17703938, 1068399611, 1030854461,    2081738,   54398956,   29252587, 1040266102,   18845658,   93191125,   65945563, 1048628144,   35610600,  133030847,  102638539, 1055941610,   52375542,  174968744,  141428666, 1062205476,   69139460,  216906640,  181268392, 1065324640,   84854802, 1016003576,  221107095, 1016267410, 1035005797, 1048499182,  998203359, 1020433112, 1045475203,    7253988, 1028600795, 1023549214, 1055943584,   40799194, 1060046807, 1026665316, 1067462589,   75394000,   17752020, 1027684266,    7335897,  111036358,   50246608, 1027654641,   18853876,  147728315,   82742219, 1026575417,   29323279,  185468847,  117334983, 1024447617,
            38744107, 1011849154,  151928770,  998139928,   47117382, 1041196996,  186521532, 1042168839, 1045528370, 1071593415,  994050979,   13506551, 1050751836,   27199433, 1023396779,   58585062, 1055975302,   57595851, 1051695028,  104712150, 1061198767,   89041868,    6250428,  150840262, 1067470808,  120486862,   34548676,  196967349,          0,  152981455,   63895500,  244144037,    4174889, 1006647179,   92193747,  990845911,    6252625, 1034943386,  121540571, 1032775634,    8330362, 1061142441,  150887394, 1073656781, 1058149118,   13599671,  994092902,   41845705, 1057077045,   40847301, 1018192763,   83775428, 1057054571,   67046355, 1043342223,  126753728, 1055983521,   93246433, 1068490660,  169733051, 1054911447,  119445486,   19898296,  212711350,
            1053839372, 1005638485,   43999180,  983551895, 1051719746, 1028688752,   68100064, 1022332829, 1047502969, 1050691466,   91151348, 1061114788, 1042236591,    1048485,  114202632,   26153899, 1072865995,   23050175,  996231976,   63886259, 1065500429,   45051865, 1016134474,  102668218, 1058133840,   64956403, 1037086571,  140400577, 1050768275,   84859918, 1056990091,  179182536, 1042353110, 1006727965,    3150764,  975209302, 1032889369, 1024532293,   24102860, 1010841448, 1023425628, 1042336620,   41909229, 1047523195, 1012913312, 1060140946,   58664973,    9413518, 1001352420,    4204473,   75422766,   43998113,   13842071,   22008800, 1000468203,   77533108, 1072874214,   35617799, 1016174360,  111069127, 1059214133,   49226798, 1030830918,  144604122,
            1044504453, 1009914598, 1046537075,  970012436, 1028746197, 1022472985, 1061194656, 1001447219, 1011938341, 1035031373,    2109388, 1032883025,  995131510, 1047589760,   15718393, 1064318832,  977275080, 1059099571,   25131047,   22011791,  959419673, 1069560806,   34544725,   52399022, 1003382841,    4182042, 1006802605,   80688077, 1037978659,   11496527, 1016213223,  108977133, 1072574477, 1014149806, 1026673440,  964815571,   35527671, 1020413678, 1036084058,  992052989,   73271265, 1027726125, 1044447123, 1020340008,  112062410, 1032941421, 1052809165, 1046529874,  154000307, 1038156717, 1059073031, 1072718717,  195938204, 1042322414, 1063240770,   24118185,  238924676, 1043342383, 1066359933,   48209876,  999230461, 1045410928, 1014185583,   70203392,
            1031727091, 1018385014, 1018350261,  960667281, 1064223721, 1019402946, 1021466363,  983707335,   24027103, 1020420878, 1025632065, 1006748414,   57572309, 1019341658, 1027699591, 1029789493,   93214667, 1018261415, 1028718542, 1049683820,  128858048, 1014035445, 1027639317, 1069579172,  166598581, 1008759876, 1025511517,   12585948,  204338090, 1004533906, 1023384742,   28283925,  996126657, 1001262136,  975076384,  957567567, 1026523075, 1047390242, 1020153871,  976411281, 1055870918,   19777547, 1065233407,  994205396,   12525512,   66955253,   35521519, 1010951959,   42921930,  114132959,   81648606, 1026648923,   73319372,  162358217,  127776718, 1039200159,  104764365,  211633074,  173903806, 1049654244,  137258958,  260907932,  221079469, 1059058731,
            168703951,  993969143,  268256156,  978199580,  994071428, 1036948461,  969881562, 1032713227, 1020270483,    7235554, 1011811285,   14533626, 1048566689,   50214872, 1053741008,   70095850,    1023920,   94243789,   20880331,  124608473,   27222974,  138272707,   62810055,  179122121,   53423052,  183350200,  105789378,  233634745,   80670682,  228427693,  147719101,  288148394,  106869735,  986675127,  190697401,  967765969,  133069813, 1027554232,  233676724, 1020179403,  994113351, 1067385785,  963637139, 1072592838, 1017163618,   34524090, 1002418074,   50215872, 1040213885,   74355643, 1041199009,  101579707, 1062216600,  114187197,    6239144,  152944566,   12573618,  155066302,   45020079,  204309426,   34575308,  195946431,   82753462,  255674285,
            55528422,  978331510,  121534397,  956282758,   75431937, 1017111427,  160315332, 1006595979,   95336475, 1054842768,  198048715, 1055860625,  998350602,   17783709,  957392716,   30335895, 1016154929,   53417898,  993024863,   78551965, 1033959256,   90100663, 1028658034,  126767012, 1051763583,  125734852, 1065339780,  174983083, 1069567910,  162417617,   26181527,  222150578,   13630412,  972086069,   60766122,  944799547,   29337587, 1006668622,   94301117,  990916427,   42946586, 1040202598,  127836112, 1038080860,   55508034, 1073736575,  161372132,   10454894, 1003635404,   33528728,  953245445,   54474623, 1016193791,   64965553,  985729828,   99541905, 1028752179,   96402378, 1017165634,  143560612, 1041310566,  126790627, 1048600417,  187579318,
            1052820377,  966889203,    6294400,  933316335, 1064330188,  997274392,   37729182,  976284427,          0, 1026612029,   66019262, 1019251496,    8363061, 1055948641,   94308317, 1061171013,   13581417,   10494854,  122597373,   30396258, 1009969806,   38782891,  951196349,   70218624, 1017282254,   64972753,  978433768,  110039966, 1023546125,   90115063, 1006720786,  149861308, 1030858573,  962740914, 1033959229,  921833124, 1036072845,  987880162, 1060149096,  961652427, 1040239565, 1014069011,   11547539, 1001471731, 1043355662, 1038159684,   36687806, 1040242460, 1045425232, 1061201781,   58682346,    3173189, 1045396625,    9453478,   80676887,   39845742, 1017352784,   31445976,  949146229,   75470745, 1018369692,   49244171,  972187308,  108997571,
            1019387624,  959641200,  996276963,  910349912, 1020405556,  980583084, 1018269465,  947020427, 1019325313, 1000477417, 1040260944,  983690943, 1016148942, 1020370726, 1060156296, 1018264307, 1011921948, 1038166883,    4211648, 1050740520, 1006647403, 1053865889,   20960249,    8425310, 1001371834, 1067466720,   35609650,   36706196,  978198595,    7324704,  948145709,   64987083, 1024326701,  955492910,  966989424,  899915275, 1070454806,  972238454,  985832115,  932388427,   42841088,  987934399, 1003627253,  964862602,   90019818, 1002581768, 1019325241,  996287178,  138245076, 1015131986, 1032925053, 1024565003,  186471358, 1024535453, 1044427714, 1049698125,  235746215, 1030793193, 1053831176, 1071683472,  285021073, 1036001334, 1063236686,   16782293,
            973003773,  983416897,  949894180,  214118604, 1015983090, 1040028715, 1005456404,  214118604, 1058963431,   22898709, 1061017603,    7349236,   28200925,   79511551,   41790450,   15734785,   72229842,  136123369,   97351649,   10491892,  116258760,  192734163,  151865297,    7357398,  161335229,  248297405,  206377921,    6323133,  205364147,  304909224,  260891569, 1071691689,  251490216,  972983287,  315404194, 1058073494,  966759350, 1026446315,  941559764, 1042357123, 1006589879,    6168544,  993973198, 1026639729, 1047470008,   59631573, 1046385608,   74469360,   13559737,  113094602,   24008643,   61886468,   54439867,  166557632,   76422078,   33574917,   94271420,  218972086,  127786937,    6316029,  135150525,  272435116,  179150772, 1064336377,
            174982079,  962548652,  230515632, 1047567350,  215862208, 1012863915,  280831915, 1027651571,  959466352, 1064226731,  932174724, 1005638640,  997197692,   40800171,  981439369,  983625708, 1035977609,   90065836, 1030704014,  144736246, 1072660374,  140380077,    6226836,  106984459,   35601315,  189646766,   54443930,   60846108,   72284080,  238912431,  102660000,   16804905,  107917245,  950016865,  150875047, 1055944758,  144600010,  999280491,  198042542, 1026586691,  180234199, 1047495543,  246258613,  998277200,  955319081,   19870594,  921741107,  968919132,  988853057,   67037070,  967857987,  939561064, 1023435610,  113154971, 1013973844,  198225911, 1056969587,  159271847, 1061139301,  141596695,   16761739,  205389748,   32464758,   83919927,
            49247140,  938533653,   77532040,   29388886,   80683965,  983599915,  121550747, 1053844595,  112120791, 1028666178,  165569453, 1010849936,  142509040, 1073732441,  209588159,  972049580,  952220385,   42959729,  911308513,  934298823,  981558022,   84880265,  955324157,  896547043, 1011943210,  126799777,  998292250,  238083063, 1041279823,  168720313, 1041260342,  170965029, 1070616436,  928099017,    9437011,  104895571,   25162649,  968967915,   50307953,   40924290,   51353534, 1010886414,   90129295, 1055937711,   77544420, 1050706736,  129950637, 1000355036,  102684681,   16785235,  169771979,  950016263,  950171289,   55556983,  901923472,  901774642,  975310538,   93279131,  941742775,  853534045, 1001499387,  129953727,  981562079,  273745910,
            1025590059,  916615806, 1021381384,  199283763, 1049680732,  954336939, 1059102512,  125871216, 1072722829,  992057049,   22034266,   54555822,   19925951, 1028728583,   57658243, 1059079402,   40869873, 1064351542,   92233646,  993006886,   58667044,   24135526,  125760472,  931129698,  948121169,   56612758,  892538430,  870300060,  970112654,   86991815,  929209969,  810520023,  991054539,  905132593,  965880485,  307312630, 1010947847,  939704939, 1001502425,  226554946, 1029792580,  974276261, 1035026189,  146846862, 1046540162, 1006751455, 1066453827,   68187353, 1061190593, 1038177049,   22041465, 1063269669,          0, 1065408341,   51370928,  988804464,   12552256,   16799634,   78603239,  914339259,  948169225,   41932752,  883154433,  840923647,
            963865170,  893649409,  916676139,  767506943,  980610714,  925072939,  949150314,  341926902,  995258083,  956496496,  980574890,  254873680, 1008856877,  984773302, 1010950890,  168870059, 1020358519, 1012002556, 1038180140,   81818885, 1027664835, 1033986885, 1061215086, 1068508512, 1033921551, 1051776911,    7361459,  983553466, 1039129692, 1066421210,   27250679,  897549823,  954062925,  214118604,  214118604,  811546111, 1011723318,  214118604,  214118604,  725542399, 1068335136,          0, 1065354243,   12565510,   51204106, 1072692221,    2093044, 1070590977,  107816947,    4190187,    8391641,    8393724,  164428766,   12595140,   15751088,   13639644,  219992008,   16808863,   14721936,   15742917,  276603826,   10536834,    5302132,    9458609,
            332167069, 1072760679, 1066476378,    5271454,  945727484, 1060192077, 1053907776,    1086346,  999190513, 1047623475,   37763067, 1070642039, 1053702118,   35664878,   30422018,   44048372,   33424346,   36713475,    9454577,   42997761,   86887376,   18889723,    1075169,   11542530,  140350405,    4215784, 1066439637,    4206588,  192764859, 1071677403, 1050722250,      15350,  245179313, 1059105743, 1032905663, 1063274481,  298642342, 1042338756, 1014040500, 1051743213,  936342444, 1023473594,   99641342, 1040212969,  987706283, 1004608431,   68182028, 1028682724, 1039069099,  111175668,   28337169,  100691943,   15642539,   84960263, 1070623765,   77617150,   65956780,   48259088, 1047560218,   35669007,  115223468,   10512403, 1024495647,    7355420,
            164489134, 1059091480, 1000383524, 1062221863,  214803375, 1036027933,  974173224, 1044396081,  264070064, 1011915810,  149982212, 1025520700,  925909851,  986754086,   99647517, 1006646343,  975172454,  961592362,   47215668,  986722385, 1023387505,  173053943,    1076298,  144748510, 1070553980,  124815376, 1034971232,  100700158,   43978632,   73431081, 1001416820,   56650782,   90095508,   23097407,  967861384,   17847355,  136213409, 1053846613,  935355547, 1058029655,  182330285, 1018194026,  187741194, 1028664433,  228448186,  984638590,  124819505, 1001396363,  916524810,  951084178,   63995992,  973080740,  961591072,  918578341,    7366783,  946861246, 1006657335,  219203575, 1029722276,  178319316, 1050675021,  156280862,  982531272,  126926849,
            20950885,   94407749,  938485995,   76583982,   63919997,   35681388,  895490318,   28339291,  105840533, 1054891153,  220257297, 1058030726,  147760045, 1005602998,  149991495, 1017127087,  189680581,  960509146,   80775293,  979369177,  907139769,  917512445,   14704818,  941612289,  948009690,  874515744, 1026570471,  903854378,  989927164,  255914998,  967841051,  210841546, 1030796063,  184599596,  913304910,  153154565, 1070616386,  115383394,  858769793,   95468607,   36694885,   47215768,  251723800,   39879802,   74418057, 1056984269,  174114909, 1059081396,  111092653,  997205249,   98603169, 1007687917,  148814801,  939524404,   24140006,  958391590,  896707175,  886037863, 1025515818,  910143838,  935475860,  831502746,  957344109,  861896086,
            973196994,  290529270,  889173424,  242315200, 1010917104,  212919354,  822050291,  178333704, 1046540063,  136359039,  283190303,  113303633,    7372622,   60847300,  199285875,   50370714,   39849854, 1061174536,  116431046, 1061180642,   72327087,  990905675,   33575193,  999297322,  102706143,  922733967, 1025509740,  939510130,  887322133,  855611857,  945799615,  879723962,  922943054,  788489727,  866089471,  820986367,  957515400,  325143542,  786379263,  274837429,  991038145,  241238089,  314657831,  203511820, 1022464764,  157334684,  224457864,  132187234, 1051792183,   74478831,  134258922,   60862649,    5281652, 1066413378,   43010380, 1062231312,   29366193,  985654677, 1026552238,  990905704,   52402159,  905944552,  934255103,  920629695,
            877938177,  826234367,  843006463,  850352639,  909361672,  746524159,  750708223,  779027967,  940784205,  359757814, 1066382339,    6257677,  971159187,  269557847,    6288378,    9418750,  998388441,  179357881,   13633505,    8375283, 1023519520,   88110363,   17831869,   10472418, 1043406697, 1071652221,   18891679,   15718350, 1059099572,  980403679,   18901891,   22013881,          0,  889155071,   17863528,   28309413,

            1068487676, 1063246849,   10484730,          0, 1071640571,    6291445,    3146753,    8393727,    9439217,   12587997,    9445372,    9446378,   15736774,   17839030,   10499033,   12600268,   18895783,   17855384,   11557825,    8417207,   14716809,   11578236,    4229037, 1072733091,    8438638,    5299041, 1068543898, 1063306128,    2159444, 1072761671, 1058068359, 1052830590, 1069622074,   22027262, 1048640372,   57686012,   28316662,   17835011,   59784179,   37762053,   20978691,    6304755,   54539267,   11549696,   12594174,    5262306,   23083012,      21498,    6306793, 1072720854,    5261308, 1063282678,    3169244, 1060146123, 1069571064, 1047559154, 1066433488, 1047571391, 1055944692, 1031835630, 1053858757, 1033947060, 1039173616, 1014015978,
            1040234426,   87053307, 1023450092,  109080570, 1026611118,   57690121, 1005629416,   71326734,   92298225,   19941390,  122714095,   28333084,   78662659, 1071665169,   93348869, 1071666217,   36718604, 1053842453,   49305622, 1047550005,    7359504, 1036019737,   11555875, 1023432768, 1063278611, 1016099869, 1059083311, 1000365132, 1045455895,  995131425, 1036015674,  976248919, 1025536027,  129009658, 1011899462,  145793018, 1005616159,   83914772,  987782225,   95454235,  984647714,   37773355,  963666012,   46165050,  148935661, 1072715840,  170962922,    2119767,  106986503, 1041256532,  120623115, 1037060211,   59795488, 1012942951,   70285354, 1003501710,   17849398,  984630394,   23094345,  969944233, 1056986186,  956317837, 1055936613,  937434307,
            1027624030,  162577403, 1020280960,  178312188,  999311473,  106992674,  986723483,  119580714,  970997892,   54556745,  954213558,   61898840,  942685334,    5266542,  920656080,    8412292,  190893032, 1034962066,  208724965, 1031814320,  134259727,  994061492,  148945939,  986717403,   80775221,  956306647,   90215489,  943717637,   29386843,  919600377,   34631790,  900717871, 1055936640,  194046973, 1056984218,  208732158, 1013987491,  131119154, 1008741574,  142657594,  975184070,   70290535,  963644656,   78681206,  937429224,   12607643,  921693466,   15753394,  900722954, 1030763726,  878693700, 1029714157,  225509347,  979373313,  242293728,  973077799,  162582551,  930080051,  176219164,  917491040,  100704332,  881835364,  110145624,  862952858,
            40924289,  223418367,   47217812,  239152128, 1058032821,  154197058, 1059080399,  166784074, 1004544232,   86024325, 1000346890,   94414996,  955250970,   19948744,  944760132,   23094495,  905957708, 1028663563,  890221949, 1027613993,  857713021,  966783309,  836732343,  960487794,  258029533,  905950606,  274813915,  893362620,  188807200,  845118927,  202443813,  827284991,  120634468,  253838337,  130074735,  268524546,   52461735,  178322514,   58755257,  189860954, 1061176553,  102805668, 1062225156,  110148787,  997199148,   27289845,  993001805,   31484172,  936366445, 1026563399,  926925207, 1026561381,  875534767,  954192280,  859799008,  947897789,  814703088,  881822185,  793722367,  870281727,  291598296,  809451007,  308382677,  791617023,
            216080425,  284259331,  229717038,    4173830,  140564603,  201399394,  150004871,    5236732,   65047756,  118539458,   71340255,    9434092, 1064321310,   35678498, 1065369912,   14681044,  990902639, 1025511811,  987753873,   15733695,  917482944,  942650851,  909089258,   15738795,  845111807,  857692671,  830425599,   16793496,  773790207,  773783039,  752809471,   17849220,  325167059, 1072663562,   10457100,   28314614,  242305074,    8378362,    2085887,          0,  160493714,   12576739,    7336951,    3148798,   76585202,   13627332,   12580832,    5247991, 1067466066,   20975527,   16781258,    1054705,  984605107,   26225547,   15735733, 1068507116,  900696575,   31476592,   15741857, 1061169127,  815738367,   35680085,   16797582, 1054879715,
            731828735,   11526142,   18900859,   69227499, 1072652307,    1045502,   35655664,   37763072,    3127298,    6291445,   18876412,   10496016,   12576753,   10488806,    2098176, 1071652890,   11528146,    9443288,    4198395, 1060117539,   17825717,    5252044,    4200436, 1046484013,   24124313,    2110399, 1071651823, 1032850487,   28326781, 1072711603, 1064313834, 1018168385,   33578850,   50343920, 1058024421,   98606050,   38829896,   22027264, 1051736032,   61895682,   20960254,    4200455,   80765918,   27284512,    4189182,       6153,   55592950, 1072707643,    3144699, 1067456522,   22032393, 1048584277,    8390637, 1056970765,    3154965, 1026559086,   10490847, 1046485007, 1065361439, 1005581446,    7347154, 1035999250, 1053825064,  982506655,
            3156934,   84965350, 1040191538,  126935001,    1063865,   50353153, 1025509436,   83930118, 1071665069,   18889752, 1010827334,   41975857,   57687014, 1070607403,  117485521,    3167324,   39856121, 1053827132,   80775154, 1041247365,    9443333, 1035997261,   44065809, 1008731309,    2103304, 1018167391,   12600366,  977263829, 1070602249, 1000337520, 1060121672,  945796349, 1062213643,  113294301, 1038096481,  154215377, 1051727886,   73437188, 1015021690,  104915978, 1041242128,   34629673,  994044051,   56666179, 1030757395,    1067084,  970969259,    8417404,  100699096, 1045440621,  148961219, 1037055157,   68184052, 1017120909,  104908783,  994049260,   33572877,  990898350,   62952476,  951043363,    7353378,  963627214,   23095367,  909086042,
            1062216756,  140574677, 1059078257,  181495752, 1045436485,   94423048, 1025513625,  125901839, 1027606614,   49321018,  994046145,   69260374, 1009776743,    6316140,  961530089,   13666461,  991946873, 1039151261,  930062608, 1031815396,  133223370, 1000341709,  179388340,  979368235,   92317681,  964677884,  130090989,  925872497,   53509142,  926916907,   80791591,  873425335,   17848378,  167856076,   32541792,  208776127, 1059076189,  115408909, 1059082393,  145839124, 1030756477,   62962765, 1013979345,   81853545, 1004533918,   11566221,  972022024,   17867966,  977262782, 1033911500,  930064703, 1027624212,  949991646,  986709260,  888108406,  964686185,  164699068,  938458442,  209816484,  900700607,  117499886,  891256201,  153175019,  837763583,
            71348257,  195136452,   97581107,    4161542,   27294803,  135346193,   40938618,   10461176, 1059080325,   75556960, 1059087553,    9412587, 1019222197,   15766702, 1004543240,   16750553,  982509797, 1029719292,  952096078,   23046086,  945797396,  972027210,  899648916,   34583474,  909084995,  913286552,  847201754,   46120862,  195127212,  855594470,  241293205,   57658251,  141632492,  222416827,  177307626,   13624302,   89186349,  155282454,  113322046,    1038325,   36740205,   88150130,   49336468,    1036279, 1059085485,   19968207, 1059092713,    8374258, 1009786092, 1025528107,  995107134,   12567532,  962583851,  957346184,  933217684,   15713254,  914333034,  888115686,  869232106,   18857952,  867130792,  819932671,  806295039,   23051227,
            225555357,    1003539,    1010702,   30424027,  165766122,   12550139,    8360959,   10492912,  105975864,   13600741,    9412594,          0,   45138055,   17793997,   12557282,    1044489, 1059089621,   28284851,   19898320, 1073733649, 1000348963,   44018584,   28291004, 1070582810,  942656881,   59752317,   39827368, 1066384418,  883916223,   75486051,   51365781, 1061137451,  826224127,    8369146,   63951745,   53515209,  255983501,    5225463,   19916779,   30435304,  188850153,    5224433,    6283250,   11549701,  121716804,   12563429, 1073730551, 1071651871,   54583457,   18855897,    4180981, 1062206518, 1059094781,   25148364,   10471407, 1050664013,  990912858,   32489407,   14664681, 1039121508,  922730935,   39830451,   17809379, 1026530427,
            854547967,   19927012,   20955102,   77654966,  785317375,    4192243,   24099800,   50378721, 1067397152, 1072687100,   40914896,   24149003,    8350726,    4186110,   19934182,      19507,   13600752,    6280191,    4198393, 1051728986,   14648281,    6276096, 1073739781, 1031793791,   21990337,    6274049,    1042445, 1011858597,   35627942,    5223427, 1072682005,  990874827,   51361675,   41969618, 1068483614,  101795747,   67094384,   20988908, 1064285223,   68223962,   82829142,    5251075, 1059038255,   34651153,    9416700, 1071645716,   66104249,    2128967,    6273017, 1067445284,   41975769, 1044397181,    4176884, 1061147699,   20993015, 1015020722,    8369132, 1052752963,    4205586,  984596710,   15709151, 1043309651, 1066404907,  954171675,
            22001618,   66109376, 1056959553,  124886928,   29342662,   40931300, 1045417048,   85020628,   36684729,   17849352, 1032825967,   44104728,   44025773, 1072706601, 1019186310,    3189852,   29367260, 1055919176,   91293601, 1036016800,   10486764, 1041228902,   64016332,  996151523, 1072689145, 1025490052,   36740086,  958382375,    1041405, 1008702627,   11559967,  918516074,    5232638,   89200557, 1062220870,  149026684,    6279167,   58776541, 1041237101,  100768718,    6275072,   29400078, 1022350482,   52509727,    5224450,    1074237, 1001366712,    4250737,    5221380, 1047538795,  979335390, 1028686019,   53509060, 1023407257,  118581128,  979378453,   30430175,  998227142,   85009343,  932168039,   11546616,  971999475,   51438582,  882861497,
            1052684,  113341338,   17865772, 1065306121, 1070594076,   76622807, 1060133986,    2051066, 1064296491,   38853652, 1028660375,   11486187, 1056950331,    2135121,  999283916,   23017435, 1048555595, 1040206990,  969908480,   36649930, 1039112283, 1004538058,  939483445,   55524280,   78699437,  970965254,  145868654,   76496805,   53520338,  936343874,  104953778,   97468305,   29390838,  137481094,   64038902, 1068480490,    8407065,   93419473,   23123002, 1071621100, 1064312889,   48307227, 1056998526,    3117036, 1049622615,    3196006, 1016084674,   13598697, 1032835189, 1032876209,  977266949,   25128932, 1017096340,  987764988,  938449224,   37708767, 1000308914,  944750919,  898583948,   50288601,  104937365,  900689298,  173156180,   63917011,
            74513349,  161621875,  124898213,    1057741,   44089334,  109167563,   76639222, 1071644637,   14712869,   56712227,   28380232, 1073733611, 1061177428,    4256891, 1052815514,    5226486, 1034948738, 1024495828, 1004556524,   12559358, 1010817199,  970991918,  956297534,   18843653,  985638108,  918537607,  906990992,   25127949,  959409417,  865033697,  858732003,   30363669,  132224891, 1064243225, 1060062225,   13668272,   94457784,    4135937, 1070548994,    6315981,   57738230,   15670251,    6244339,    1060840,   21018675,   28252116,   16727012,          0, 1058041968,   42934205,   29308883,    1038358, 1022372012,   63907748,   46087105, 1073721388,  988800232,   89076619,   66010030, 1071612993,  954178852,  114244465,   86982555, 1069505623,
            919557472, 1066369018,  107954056,   31521683,  159512417, 1072658419, 1067433961,   18923451,  115449771,    7301100, 1069527019,    7373795,   70339574,   17783778, 1073716204, 1071662089,   26275905,   31413207,    7309291, 1063259181, 1054906508,   47140811,   18839527, 1054856273, 1009796311,   63916991,   31419362, 1044357237,  966782242,   80692146,   43998172, 1034905753,  922719596, 1071640539,   57626582,   50423670,  878657975, 1070584805,   70206416,   31530922,  186799943,    1030124,    3160004,   13686750,  135394207,    9412592, 1072697301, 1069583377,   82939895,   18844657, 1071640549, 1051739204,   30484559,   28276722,    2084849, 1033896055, 1051772072,   37708787,    9417722, 1017100457,  998268161,   47140852,   15700994,  999256283,
            945813851,    6313918,   21985289,   70375256,  891261364,    1060821,   27222033,   44138393,  837757439, 1072695274,   32457753,   18951129, 1056901157,    3138555,   18917282, 1066455066, 1071585293,    6274058,    9467838, 1041267803,   10428406,    9411609,    3164122, 1015031964,   21960672,   11499559,       6132,  989843676,   34544585,   12539958,    1043467,  962559261,   52372401,   22070178,    1033249,   89277242,   76492695,   12619716, 1072666678,   56746887,  101660542,    4216805, 1070559308,   23166933,  126828388, 1072702468, 1068451938, 1063327780, 1064272893, 1069544482,   37821311, 1029747826, 1069513718, 1064288318,   25222055,  995119297,    3108848, 1057984603,   12623823,  961539344,   12542951, 1051680888,    2123766,  926909791,
            24074205,   40973188, 1067460635, 1047463949,   38753233,   25227187, 1059057727, 1066335229,   55528389,   10529760, 1049607267,   11463662,   72304569, 1070622733, 1040155783,   31382494,   89079724, 1056974905, 1029655723,   54448078, 1072692182, 1045424228,   59870043,   80660412, 1070587872, 1030728847,   40977296,  108968874, 1071629289, 1017081018,   22084548,  138326936,    4172782,   59875175,    4240376, 1047497702,   13603825,   37834657, 1060137003, 1062170596,   24084466,   15794140, 1043341405,    4149218,   33516531, 1068544022, 1026546832,   20920288,   42948596, 1046503504, 1007654082,   40836060,   51332085, 1024464009,  989809908,   61801431,   10514355, 1003472067,   82969399,   83816401,    3163082,  980383996,   56732536,  105830347,
            7136,   79826761,   31545273, 1047530430,    1045491,   50442128,    5308410, 1060102091,    5229571,   21058519, 1053861947, 1071626198,    8367121, 1065415711, 1027625083,   11505632,   10455072, 1034983527, 1002437820,   27224041,   12544047, 1004551342,  976201981,   41894896,   13583422,  975166710,  949965117,   57614328,   27320208,  944734526,  106067731,   72285183,   16820147,   99777322,   73536352, 1053854615,    8418261,   63050623,   39956398, 1060131760,    1064949,   26322899,    6376445, 1067458504, 1070599187, 1062288424, 1046537291,    4188127, 1066392624, 1023463550, 1011908762,   13613045, 1061136461,  984638676,  977280233,   23035914, 1054832746,  946862378,  943700280,   31411230, 1048529031,  908037504,  909071751,   38738995,
            48321389, 1048496161, 1038028821, 1063324527,   32575388, 1068417034, 1056899077, 1064355733,   17878985,   15644660,    2028534, 1066435514,    3181559,   37662685,   21947366, 1069564893, 1064323107,   61778887,   42915798,          0, 1050675278,   90089391,   67029957,    3129378, 1038077049,  121545623,   94289843,    4161605, 1024429221,  154050430,  123647905,    4145256, 1009732816, 1047481337,  153005966,    2198343,   71419721, 1064252401, 1040161766, 1071725433,   49379204,    7282664, 1054833637, 1067511722,   27338686,   26150879, 1069506531, 1063296987,    5299193,   47118293,   12534753, 1059081227, 1056999475,   71231433,   30353374, 1054867515, 1034958956,   96392126,   50270169, 1049604204, 1013968038,  121553841,   72284116, 1042243740,
            991927519, 1047514066,   94299086,   15863583,  969888025, 1061136343,  116313032,    5354333,   94518053,    1016796, 1042292664, 1067538331,   65134444,   16737248, 1053816772, 1055980505,   35750836,   33506274, 1065339856, 1044421655,    6367227,   52372452,    5219291, 1031815252, 1049675843,   70191076,   18840549, 1019207826, 1020291211,   89057253,   34559981, 1005552849,  989859026, 1049643947,   50279412,   30577399,  960475418, 1059068861,   64949244,   12724033,  928993634, 1069542351,   79619075, 1067564940,  117616384,    7322592, 1050716042, 1048662999,   80889685,   19894255, 1056993188, 1029761058,   44162985,   32465917, 1063270332, 1008761966,    7435262,   43987979, 1071645652,  988812474, 1042351187,   55511065,    9424874,  967813382,
            1004574889, 1058065283,   18848767, 1027524625,  965750015, 1062243235,   27224084, 1056877569,  927973717, 1067470785,   34550825,   11442161,  889148843,       6110,   42926142,   41844705, 1038012460,    7330811, 1062284125,   74344401, 1057932309,   12558358, 1064363906,  107892672,    5159935,   17786930, 1065396135,  143539119,   26129384,   21965901, 1068524492,  180234141,   49195986, 1069632347, 1071653871, 1024417760,   75409339, 1067516807,    2088977, 1050621917,  105816995, 1066448818,    3121204,    3085274,  137274250, 1066430428,    4153430,   29290454,  170827633, 1066412038,    4136057,   57592786, 1039095805, 1066393647,    4305711,   86943694, 1055866869, 1063229528,      90976,  117344201, 1072637933, 1060065410, 1069618066,  147743683,
            16716772,    8507187, 1065404355, 1022358447,   36634586,    1144683, 1061189619, 1045413816,   58650575, 1067525027, 1056974883, 1068470210,   83811268, 1060162522, 1052760147,   17784779,  108972984, 1051751441, 1045399684,   41889747,  134134699, 1043341384, 1038039220,   65994715, 1041226703, 1034930303,   21117696,   90099682, 1053800405, 1023374518,   10608446,  115253225, 1067423706,   23219979, 1072792444, 1021347709,    8352734,    8515407, 1062283194, 1040205715,   25121761, 1067551635, 1050725368, 1060113321,   42939363, 1052846040, 1038117941,    6279102,   60757988, 1037090844, 1025511539,   26186707,   79624165, 1020288097, 1012905138,   45044711,   98490342, 1004533926,  998200560,   63903740, 1046504353,  986682603,   38979281,   81713168,
            1053832116,   37933794,   21125916, 1024531275, 1063257031,   15885107,    3273574, 1039192942,    2085848, 1067578244, 1058114481, 1053853584,   13608936, 1045529558, 1039212540, 1068515250,   26180598, 1021382696, 1019262024,   10483667,   38751236,  997235834,  999311508,   24095732,   50274322,  973089997,  978312416,   35610645,   61797408,  949991712,  957313324,   46076982, 1055975283, 1029603370, 1013897241, 1029813017, 1060154259, 1060005907, 1042201609, 1039227720, 1064333234,   16668669, 1071555577, 1047593846, 1069560784,   48121831,   27167721, 1057009572,    4192237,   81671121,   57570265, 1066424274,   10468360,  118367162,   91118537,          0,   15696932,  156112802,  125716408,    6268975,   19875904,  195954570,  161361830,   10440798,
            23007323, 1026496505,  198056852, 1037190886, 1069641542, 1053750255, 1011839970, 1040311073, 1068574577,    7263206, 1038044126, 1043432284, 1067507613,   35567580, 1064249307, 1045503895, 1066439623,   65968082,   16711640, 1047575506, 1066422257,   97418183,   43965396, 1048597517, 1066402842,  129916860,   72267728, 1048571977, 1065335876,  163464112,  101619659, 1045400709, 1062171757, 1023387591,  132019142, 1045618356, 1057959063, 1048542155,  163468224, 1042444027,   12711703, 1072648142, 1009781674, 1038221122,    5350223,   24061905, 1033886644, 1033998218, 1070680967,   49216467, 1056942013, 1028726738, 1063319486,   76469204,    6256582, 1022405659, 1055958005,  103721941,   29312975, 1013987428, 1047545900,  130974678,   53417943, 1006618797,
            1039135843, 1021328278,   78571486, 1007585301, 1029676187, 1042285478,  102676454, 1047421957, 1018120402, 1064291253,  127829997,   12469237,   30573289,   12556229, 1011918706,   53354469,   15867693,   33513427, 1030776712,   94240724,    1162097,   55520225, 1050684318,  136174532, 1060198326,   77525999, 1070590900,  179157939, 1044445178,   98484220,   16756681,  223189922, 1028689983, 1022414692,   35615709, 1002386394, 1011887235, 1039174529,   54474737, 1038025686,  996133065, 1056983965,   72284166,     971729,  978281742,       1976,   90094618,   37660621,   48433850,   17810387, 1017200442,   75397065,   26385163,   34570222, 1031862109,  113134532,    5385052,   49232904, 1046522751,  151920576, 1057078189,   63895587, 1061184417,  190705595,
            1033980927, 1026647858,    2104258,  996137887, 1009833041, 1039210331,   16764899, 1029676966,  985687204, 1050724227,   29328388, 1063217070,  961540342, 1062238123,   40844326,   23014326,  937394505,    1058770,   52359239,   56554429, 1014926389,   12572666, 1025628929,   90093509, 1044280350,   20939810, 1035044656,  123633612,     941064,   28259402, 1043410783,  158222291,   32395250, 1034025728, 1052826509,  990937955,   64895964, 1039245109, 1061192635, 1021329271,   99494853, 1045513065, 1070608361, 1052768138,  137240494, 1051781022,    4183063,    8369054,  176033686, 1057000402,    8354886,   37710769,  215875454, 1061170183,   11478133,   67053509, 1012869117, 1064291388, 1036154569,   95347672, 1040122868, 1065316465, 1039275780,  123640812,
            1067377642, 1041404621, 1041347391,  987835175,   21939169, 1041378062, 1044467578, 1014029126,   50243543, 1040301903, 1046540213, 1040223078,   81693644, 1040275345, 1048611824, 1065367430,  113143745, 1038151634, 1047536683,   18868134,  146690998, 1034977300, 1047511143,   42963909,  180238250, 1030755414, 1044338851,   66012133, 1010810822, 1026533529, 1046681232,   88009733, 1035965385, 1048783514, 1043506903,  985781994, 1060071372, 1042461416, 1040332575, 1007778582,   11484111, 1036140341, 1036109670, 1029774146,   36638674, 1027721091, 1031886766, 1050722158,   62842836, 1019301842, 1025566710, 1070620570,   90095573, 1008784417, 1018196031,   16778182,  117348310,  998268017, 1009778824,   34579442,  145649623,  986703041, 1002409170,   50282527,
            1010849678, 1010709555,  988716062,  985824941, 1031806878, 1051595805, 1027503117, 1002575589, 1053812654,   18740231, 1066292221, 1019326237,    1029053,   60677104,   32387053, 1035027286,   23034828,  103661530,   73273309, 1049680782,   45040602,  147694532,  115207116, 1062236103,   65998824,  192777133,  157141948,          0,   88005622,  238907286,  201173931,   10458170,  108961795, 1004462072,  245205914,  986917488, 1014035286, 1043248109,  983518172,  998422196, 1030795122,    7244771, 1020206040, 1008877305, 1047554959,   46031833, 1056893908, 1019333437, 1065363370,   84818895,   19839951, 1027691394,    9429958,  124654532,   56528843, 1033952200,   26190816,  165538745,   94265287, 1038114831,   41902075,  206423982,  132002754, 1042277462,
            56563734,  999262140,  170788797,  987644954,   71227440, 1033851838,  210623416, 1037965321, 1021415198, 1069489088,  979367835,   13496313, 1032929094,   30336961, 1012907938,   63815656, 1044442991,   65975235, 1046447018,  114136024, 1057005463,  101614533,    6244274,  164456391, 1068519359,  138301382,   39784377,  215825335,    7340006,  173939655,   73324481,  266145703,   16755726,  993013633,  106863560,  979306452,   25123894, 1026551694,  140403664, 1026478031,   32443486, 1057992604,  174992343, 1073649609, 1030892261,   15691690,  975218521,   46030788, 1036111642,   47132599, 1005608813,   93202368, 1042379599,   78573509, 1036000128,  140373947, 1048646532,  110014418, 1067440020,  186496950, 1053865912,  141456351,   23039912,  233668530,
            1059085292,  988862277,   52382651,  969917326, 1063255073, 1017154399,   80675791, 1013940116, 1064280150, 1045446520,  110018530, 1057963931, 1065304204,    1046418,  138311670,   28244897, 1041417900,   28289964,  974214935,   71219112, 1041391342,   54484933, 1000407863,  114193327, 1041363759,   80679903, 1026601814,  157167542, 1040288624,  105826297, 1052795766,  201190333, 1039213489,  986809096,    5246870,  960528200, 1037088755, 1010903854,   30392245, 1001403226, 1032866869, 1034998612,   54488021, 1043325804, 1029693560, 1058044794,   77536245,    9410430, 1023374523,    7349152,   99533845,   49235856, 1051943539,   30395333,  975308500,   88012707, 1045622465,   50295788,  997304064,  127839157, 1039300366,   69146642, 1018252076,  166616008,
            1031930716,  985803468, 1040247640,  951140098, 1023511467, 1005700862, 1061195652,  988866335, 1014043642, 1024549680,    7353264, 1026591549, 1003526217, 1042350946,   26203100, 1063269210,  991961241, 1060151188,   42954761,   26204024,  981444841,    3160006,   57610294,   60784535,  990790718,   17814521,  977450641,   95364022, 1030628392,   30369837,  994200265,  128894932, 1071514642,  986896015, 1010950913,  942799547,   39709692, 1000498893, 1026651961,  977376996,   81645541, 1014101771, 1042354034, 1010905870,  125678543, 1026656073, 1055957930, 1043386167,  169711544, 1038161800, 1068514275,    1075041,  215841698, 1048617927,    5228573,   31458187,  261972875, 1055928327,   14638168,   61840310,  985592829, 1063238728,  980641358,   90125282,
            1023331315,  986938962,  992145042,  935508596, 1062117352,  995295900, 1003649751,  965888681,   26114014, 1003653862, 1014104859,  995220190,   64901076, 1010961201, 1023512416, 1023503124,  104736713, 1016172413, 1030821797, 1050736458,  144572351, 1019285449, 1036034027,    2130817,  186505140, 1020300310, 1040195634,   24121272,  227390377, 1020267620, 1043310714,   47160304,  981442492,  991815741,  962485282,  928216621, 1017080765, 1043185702, 1012805649,  954399342, 1051670463,   20813840, 1063124993,  979533487,   13566913,   73233402,   38655984, 1003619057,   48156610,  124603364,   88976352, 1025607475,   83794884,  177021902,  139296720, 1044449142,  119433157,  229441464,  190665663, 1060145082,  156121030,  282908578,  240986031,          0,
            192807879,  983476215,  291306399,  214118604,  977293178, 1031697388,  955196375,  214118604, 1008734088,    7226337, 1002367953,   10484730, 1042272149,   55447510, 1049539532,    3146753, 1073713059,  103668684,   22969287,    9445372,   31412145,  152939457,   70140866,   10499033,   62853054,  201160631,  116263869,   11557825,   94293964,  250431405,  163435449,    4229037,  125734873,  974087089,  210607028, 1068543898,  156128230, 1020209074,  257778608, 1058068359,  975241016, 1065282482,  947905419, 1048640372, 1003533138,   37661619,  991929233,   59784179, 1031825259,   82735028, 1035952023,   54539267, 1059068805,  127807413,    6232990,   23083012,   14667679,  171832246,   50255780,    5261308,   41911224,  217954231,   93231019, 1069571064,
            68106194,  964698987,  136205234, 1055944692,   93252588, 1008720759,  179179449, 1039173616,  119446533, 1050644355,  222153664, 1023450092,  975286005,   18827151,  939566911, 1005629416,  998332187,   60751772,  980441937,  122714095, 1022426945,  101627817, 1021315939,   93348869, 1046521703,  142503862, 1063239541,   49305622, 1069567885,  183378882,   29323143,   11555875,   19920818,  955309861,   69148569, 1059083311,   40869848,  995134268,  107926444, 1036015674,   59721727, 1033910100,  146703295, 1011899462,   78572582, 1073734508,  185480146,  987782225,  976379571,   37719940,  932276979,  963666012,  995228389,   75447197,  970003216,  170962922, 1015125783,  112125877, 1007728430,  120623115, 1033974601,  147755982, 1044406091,   70285354,
            1051774843,  946970334,    7341929,   23094345, 1068526509,  983645954,   44018568, 1055936613,   10487775, 1018224421,   78598054, 1020280960,   24091667, 1053851465,  112128965,  986723483,   36649031,   13639533,  146709476,  954213558,  979570288,   47169425,  926035623,  920656080,  993173166,   78602166,  960613072,  208724965, 1006776044,  110034907,  994141945,  148945939, 1020378922,  939678360, 1027669794,   90215489, 1032933225,  971108039, 1059101516,   34631790, 1043390376, 1002538742,   16790390, 1056984218, 1052797927, 1033968421,   47173537, 1008741574, 1060107304, 1063300949,   75458508,  963644656, 1066369129,   16794502,  103743479,  921693466,  982761005,   44029879,  920842842,  878693700,  991117943,   68118505,  951222927,  242293728,
            1000523457,  932387409,  980554436,  176219164, 1007831820,  959619724, 1009885945,  110145624, 1014091607,  987901639, 1037119279,   47217812, 1018253219, 1014085378, 1063305061, 1059080399, 1020317679, 1038171966,   13650844, 1000346890, 1020283965, 1060161403,   36689876,  944760132, 1020251275,    5262265,   56581132,  890221949,  966655048,   24104952,  915650061,  836732343, 1018025009,  925095434,  941832782,  274813915, 1069394971,  949179984,  966966926,  202443813,   47023109,  972214935,  992101072,  130074735,   99442671,  994202335, 1015138066,   58755257,  150812633, 1013042983, 1035028308, 1062225156,  203232195, 1028736881, 1052821400,  993001805,  256699309, 1041285052, 1067467741,  926925207,  309117847, 1051735048,    8372259,  859799008,
            959365117,  214118604,  214118604,  793722367, 1007587313,  214118604,  214118604,  308382677, 1055808486, 1068487676, 1063246849,  229717038,   31336412, 1071640571,    6291445,  150004871,   79558609,    9439217,   12587997,   71340255,  127779782,   15736774,   17839030, 1065369912,  177050556,   18895783,   17855384,  987753873,  225271730,   14716809,   11578236,  909089258,  274542503,    8438638,    5299041,  830425599,  952075185,    2159444, 1072761671,  752809471,  997148593, 1069622074,   22027262,   10457100, 1043269554,   28316662,   17835011,    2085887,   14601138,   20978691,    6304755,    7336951,   59673523,   12594174,    5262306,   12580832,  104746932,    6306793, 1072720854,   16781258,  149820341,    3169244, 1060146123,   15735733,
            194892727, 1066433488, 1047571391,   15741857,  239966136, 1053858757, 1033947060,   16797582,  942688101, 1040234426,   87053307,   18900859,  986709873, 1026611118,   57690121,   35655664, 1029683069,   92298225,   19941390,   18876412, 1071606665,   78662659, 1071665169,    2098176,   39789462,   36718604, 1053842453,    4198395,   80665506,    7359504, 1036019737,    4200436,  122590127, 1063278611, 1016099869, 1071651823,  163465148, 1045455895,  995131425, 1064313834,  204341193, 1025536027,  129009658, 1058024421,  935397145, 1005616159,   83914772, 1051736032,  975222577,  984647714,   37773355,   80765918, 1015046984,  148935661, 1072715840,   55592950, 1053822816,  106986503, 1041256532,   22032393,   18856824,   59795488, 1012942951,    3154965,
            56584080,   17849398,  984630394, 1065361439,   93261737, 1056986186,  956317837, 1053825064,  129940418, 1027624030,  162577403, 1040191538,  166619098,  999311473,  106992674, 1025509436,  929155789,  970997892,   54556745, 1010827334,  964783856,  942685334,    5266542,  117485521, 1001459475,  190893032, 1034962066,   80775154, 1036037943,  134259727,  994061492,   44065809, 1070616411,   80775221,  956306647,   12600366,   30404479,   29386843,  919600377, 1060121672,   62885795, 1055936640,  194046973, 1038096481,   94318536, 1013987491,  131119154, 1015021690,  125750253,  975184070,   70290535,  994044051,  922914432,  937429224,   12607643,  970969259,  955393711,  900722954, 1030763726,  148961219,  986823390,  225509347,  979373313,  104908783,
            1018254094,  162582551,  930080051,   62952476, 1048635197,  100704332,  881835364,   23095367,    3177326,   40924289,  223418367, 1059078257,   30411678, 1058032821,  154197058, 1025513625,   56598480, 1004544232,   86024325,  994046145,   80686082,  955250970,   19948744,  961530089,  917721651,  905957708, 1028663563,  930062608,  946003566,  857713021,  966783309,  179388340,  974284457,  258029533,  905950606,  130090989, 1000469220,  188807200,  845118927,   80791591, 1026652960,  120634468,  253838337,   32541792, 1049690973,   52461735,  178322514, 1059082393, 1070630810, 1061176553,  102805668, 1013979345,   14684121,  997199148,   27289845,  972022024,   32477207,  936366445, 1026563399,  930064703,  912528897,  875534767,  954192280,  888108406,
            936613421,  814703088,  881822185,  209816484,  960697972,  291598296,  809451007,  153175019,  983732923,  216080425,  284259331,   97581107, 1003622147,  140564603,  201399394,   40938618, 1021414220,   65047756,  118539458, 1059087553, 1036059542, 1064321310,   35678498, 1004543240, 1046510562,  990902639, 1025511811,  952096078, 1056960558,  917482944,  942650851,  899648916,
        }
    },
};

#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif /* End of #ifdef __cplusplus */

#endif /* IMX335_CMOS_EX_H */
